привет Я знаю Java в течение длительного времени, а недавно я глубоко погружался в мир Java. Как опытный разработчик C#, мне кажется странным использовать Java enum. Например, если я покажу на консольных элементов, таких как:Что такое лучшая практика Java для обработки enum's
public enum AdminOpertionFirstlayer
{MANAGE_SUPPLY,
MANAGE_CUSTOMERS_SERVICE,
ORDERS_MANAGEMENT,
REPORTING_OPRATIONES}
Я считаю, что трудно записать их к пользователю, потому что я должен определить новый varible
*AdminOpertionFirstlayer []adminOpertionFirstlayerArr =
AdminOpertionFirstlayer.values();
для того, чтобы достичь этого :
for (int i = 0; i < adminOpertionFirstlayerArr.length; i++) {
String s = String.format("%d. %s",
i+1,
adminOpertionFirstlayerArr[i].toString());
Screen.print(s);
}
AdminOpertionFirstlayer chosen= adminOpertionFirstlayerArr
[(Integer.parseInt(dataIn.readLine()))-1];
Но я чувствую, что это плохая практика, чтобы объявить о *
- Есть ли наилучшая практика (расширение enum является одним ...)?
- Имеется ли TryParse или каждый раз, когда я разбираю, я должен попробовать и поймать?
спасибо
EDIT
делает делает это понятным и читаемым?
public enum MainMenuOptiones{
ADMIN {public void secondLayerMenu(){
Main.AdminSecondLayerMenu();}},
CUSTOMER{public void secondLayerMenu(){
Main.customerSecondLayerMenu();}},
EXIT{public void secondLayerMenu(){
System.exit(1);}},
UNAPPLICABLE{public void secondLayerMenu(){
Screen.printToScreen("chice doesnt exist try again");}};
abstract public void secondLayerMenu();
}
в phrphes есть вместо того, чтобы использовать все механизмы переключатель можно использовать
enumInstance.secondLayerMenu();
Не начинайте с прописных букв для имен переменных. Это сбивает с толку, поскольку имена, начинающиеся с прописных букв, обычно являются именами классов. См. [Кодовые обозначения для языка программирования Java] (http://www.oracle.com/technetwork/java/codeconv-138413.html). – Progman 2010-11-27 08:56:39