為了讓 Switch case中增加閱讀性,可以在Switch case中配合 Enum使用,將常數定義在Enum中,因此在Switch Case中就能以Enum增加閱讀性了。
private enum My_ENUM {
Taipei(0, "Taipei"), Tamsui(1, "Tamsui"), hsinchu(2, "hsinchu"), Taitung(3, "Taichu");
private int id;
private String name;
My_ENUM(final int value, final String name) {
this.id = value;
this.name = name;
}
public int Getid() {
return id;
}
public String toString() {
return name;
}
public static My_ENUM ByName(final String str) {
for (My_ENUM e : My_ENUM.values()) {
if (e.name.equalsIgnoreCase(str)) {
return e;
}
}
return null;
}
public static My_ENUM ById(final int num) {
for (My_ENUM e : My_ENUM.values()) {
if (e.id == num) {
return e;
}
}
return null;
}
}
My_ENUM select=My_ENUM.ById(0);
switch(select){
case Taipei: //<==增加可讀性
break;
case Tamsui: //<==增加可讀性
break;
case Hsinchu://<==增加可讀性
break;
case Taitung://<==增加可讀性
break;
}
另外如果不想使用Enum,也利用 Static final方式也能達成
public class Constant
{
public static final int ACTION_1 = 1;
public static final int ACTION_2 = 2;
public static final int ACTION_3 = 3;
}
int input=1;
switch(input)
{
case Constant.ACTION_1: //<==增加可讀性
System.out.println( "1" );
break;
case Constant.ACTION_2://<==增加可讀性
System.out.println( "2" );
break;
case Constant.ACTION_3://<==增加可讀性
System.out.println( "3" );
break;
}
沒有留言:
張貼留言