javac сломался...
Main.java:
Пруф: http://ideone.com/A7zw0
UPD:
UPD2:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7023703
public class Main { private static void foo() { final int bug; while ("a".equals("b")) { final int item = 0; } bug = 0; } private static class Inner { private final int a; private final int b; public Inner() { this.a = 0; this.b = 0; } } }
$ javac Main.java
Main.java:8: variable bug might already have been assigned
bug = 0;
^
1 error
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
Пруф: http://ideone.com/A7zw0
UPD:
- Компилируется, если снять final с любого из полей inner-класса
- Компилируется, если инициализировать любое из полей inner-класса в объявлении поля, а не в конструкторе
- Компилируется, если удалить inner-класс
- Компилируется, если стереть цикл в foo
- Компилируется, если снять final с переменной item
UPD2:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7023703
