There are many things a compiler does which helps a programmer. Let me give an example of my recent experience
String name;
if (i == 0) {
name = getName();
if (name.equals("x")) {
doSomething();
}
} else {
name = getAnotherName();
if (name.equals("y")) {
doAnotherThing();
}
}
this is perfectly okay .. if we had forgotten the call name=getAnotherName() in the else condition, compiler would crib saying that name is not initialized.
Now in many code i see that people have a tendency to declare
String name = null;
in this case if you had forgotten to call name=getAnotherName() in else, the compiler would pass as name is initialized to null. And at runtime you will get a NullPointerException as you are doing null.equals("y")
In some places initializing to null cannot be avoided, but i believe, wherever possible dont initialize to null, it will help you
No comments:
Post a Comment