У меня очень специфическая проблема, связанная с внутренним классом. Позвольте мне показать вам пример кода:
class Foo {
MYOPTIONS temp;
public static enum MYOPTIONS {
OPTION1, OPTION2, OPTION3;
}
}
Итак, это перечисление находится внутри класса Foo. Теперь я хочу установить переменную temp как одну из трех опций, но сделать это вне класса Foo, скажем, из класса с именем External. К сожалению, у меня нет метода set для этого, потому что External.setTemp (MYOPTIONS.OPTION1)
недействителен, поскольку перечисление не отображается во внешнем классе. Так что единственное, что я мог придумать, это иметь три метода в классе Foo :
public void setTempOption1 () {this.temp=MYOPTIONS.OPTION1;}
public void setTempOption2 () {this.temp=MYOPTIONS.OPTION2;}
public void setTempOption3 () {this.temp=MYOPTIONS.OPTION3;}
. Очевидно, что другой вариант — изменить перечисление и не использовать его как внутренний класс. Есть ли другие варианты, которые мне не хватает? Спасибо