I was just looking at the source code of java.lang.String in JDK 1.5 version and I noticed that the character array in which the actual
string gets created is a 'final' variable. However, this 'final' variable is NOT initialized.(so are other private final members of the String class)
How will the compiler compile this code without throwing an error?
(Until JDK 1.5, these member variables were non-final variables, which means Strings are mutable using reflection technique. But since JDK 1.5, Sun has rectified this problem.)