2010-03-05 2 views
3

Этого код не компилируется:Что нужно сделать, чтобы иметь значение «Значение» в перечислении?

object Token extends Enumeration { 
    type ID = Value 
    val Key, Value = Value 
} 

ошибки: потребности рекурсивного значения Значения типа

Что нужно сделать, чтобы иметь «Value» в перечислении?

+0

Значение - защищенное окончательное поле в Enumeration, поэтому вы не сможете его переопределить – Patrick

ответ

3

Это невозможно, потому что Value уже является конечным участником Enumeration - очевидно, что вместо этого вы должны позвонить в свое поле Val.

+1

Очень грустно. Я хотел полагаться на содержимое метода toString() перечисления. Я хотел, чтобы это совпадало с именем класса в классе компаньона. Я должен искать другое решение. – Andrey