Я получил странное исключение при попытке скомпилировать это:
Byte b = 2; if (b < new Integer(5)) { ... }
Это действительная проверка (unboxing-implicit cast - unboxing)?
Если в вашем компиляторе есть ошибка, вот что вы делаете:
В общем случае бесполезно публиковать сообщения о случайных ошибках в программных продуктах на сайтах вопросов и ответов.
Если вы получаете внутреннюю ошибку компилятора (ICE), это ошибка в самом компиляторе Java, не обязательно что-то не так с вашим кодом.
Ваш фрагмент кода прекрасно компилируется в недавнем OpenJDK. Какой компилятор Java вы используете?
public class test { public static void main( String[] args ) { Byte b = 2; if( b < new Integer(5) ) { System.out.println( "Working." ); } } }
У меня работает. (Java 1.6.0_17).
У меня тоже была эта ошибка, но никто (1.6 и 1.8) javac не получил права. Было более двух библиотек (* .jar-файлов), то есть разные версии дублированных библиотек. Удаление дубликатов исправлено, ошибка comlie
Используется моя версия компилятора: 1.6.0_16-b01 для 6.0 совместимой Похоже, что проблема исчезнет, если я переключусь на код, совместимый с 5.0.