Ошибка компилятора JDKJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ошибка компилятора JDK

Сообщение Anonymous »

Прежде чем кто-нибудь начнет кричать о JDK с EOL, я хотел бы отметить, что мой вопрос не о том, как скомпилировать следующее. Здесь возникает реальный вопрос, и речь идет не о том, что JDK 1.5 будет EOL...

Следующее в JDK 1.5, вплоть до 1.5.0_22 (последнее, что я смог найти) выдает в моей системе ошибку компилятора:

Код: Выделить всё

private Object[] boozinga() {
boolean b = Math.abs(42) > 0;
Object[] res = new Object[1];
res[0] = b ? new int[1] : new String[1];
return res;
}
Изменение Math.abs(42) > 0 на true разрешает компиляцию.

Изменение троичного «присвоения» на if/else разрешает компиляцию.

Использование JDK 1.6 позволяет компилировать .

Поэтому мне было интересно: есть ли что-то незаконное в приведенном выше коде в Java 1.5 и разрешено в Java 1.6?
Происходит ли сбой у тех из вас, кто использует Java 1.5?

Сбой говорит примерно так:


В компиляторе
(1.5.0_22) произошло исключение. Пожалуйста, сообщите об ошибке
на сайте Java Developer Connection
(http://java.sun.com/webapps/bugreport)
после проверки Bug Parade на наличие
дубликатов. Включите свою программу и
следующую диагностику в свой
отчет. Спасибо.


Я считаю, что заполнение отчета об ошибках для JDK с EOL — бесполезное занятие, но все же я бы все еще хотелось бы знать, является ли приведенное выше действительным кодом Java 1.5 или нет.

Подробнее здесь: https://stackoverflow.com/questions/620 ... iler-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»