информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаSpanning Tree Protocol: недокументированное применениеВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Java] Баг в компиляторе JDK 1.6.23 24.01.11 04:07  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
В спецификации на Java 1.4 ver.3.0 есть пример для перечисления, который должен нормально компилироваться и работать. Компиляция не проходит, предупреждая о неизвестном методе eval в последней строчке метода main.
public enum Operation {
    PLUS {
        double eval(double x, double y) { return x + y; }
    },
    MINUS {
        double eval(double x, double y) { return x - y; }
    },
    TIMES {
        double eval(double x, double y) { return x * y; }
    },
    DIVIDED_BY {
        double eval(double x, double y) { return x / y; }
    };

    public static void main(String args[]) {
        double x = Double.parseDouble(args[0]);
        double y = Double.parseDouble(args[1]);
        for (Operation op : Operation.values())
        System.out.println(x + " " + op + " " + y + " = " +
            op.eval(x, y));
    }
}

---

Если бы не компилятор, пример интерпретируемый и абсолютно рабочий, в чем можно убедиться закомментировав выражение 'op.eval(x, y)', поставив точку останова на последнем операторе метода 'main' и добавив выражение op.eval(x,y) в окне 'Watch' отладчика.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach