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