java - Regarding `Variable (var-name) might not have been initialized` -
import java.io.*; interface myioaction { void ioaction(reader rdr) throws ioexception; } class myclass { public static void main(string args[]) throws ioexception { reader rdr1; int read = rdr1.read(); //statement 1 myioaction myio = (rdr2) -> { int ch = rdr2.read(); //statement 2 }; } }
in above code, statement 1
produces following error
variable
rdr1
might not have been initialized
whereas statement 2
compiles successfully.
so, why same error in statement 1
not produced in statement 2
?
in statement 2, rdr2
in essence formal argument method. initialized when method invoked. see lambda quick start or lambda expressions tutorials more information what's going on statement 2.
Comments
Post a Comment