For this Java code:
String var;
clazz.doSomething(var);
Why does the compiler report this error:
Variable ‘var’ might not have been initialized
I thought all variables or references were initialized to null. Why do you need to do:
String var = null;
??
Instance and class variables are initialized to null (or 0), but local variables are not.
See §4.12.5 of the JLS for a very detailed explanation which says basically the same thing: