在工作中,有时候会遇到用一些符号,字段,数字等等去代表另外的意思。比如:性别有两种,可以用0表示男,1表示女;某条数据是否有效,可以用Y表示有效,N表示无效;购物的时候订单有下单,付款,发货等状态,可以用一些简单的英语单词去代表中文的意思。
这些表示会保存在数据库中,在代码中可以这样使用,以下给出几个例子,仅供参考。。。
- if
/**
* one:一年级
* two:二年级
* three:三年级
* four:四年级
* five:五年级
* six:六年级
*/
public class TestIf {
public static void main(String[] args) {
String grade = "one";
if ("one".equals(grade)) {
System.out.println("一年级");
} else if("two".equals(grade)) {
System.out.println("二年级");
} else if("three".equals(grade)) {
System.out.println("三年级");
} else if("four".equals(grade)) {
System.out.println("四年级");
} else if("five".equals(grade)) {
System.out.println("五年级");
} else if("six".equals(grade)) {
System.out.println("六年级");
}
}
}
- enum
enum Grade {
ONE("one", "一年级"),
TWO("two", "二年级"),
THREE("three", "三年级"),
FOUR("four", "四年级"),
FIVE("five", "五年级"),
SIX("six", "六年级");
private String enName;
private String cName;
private Grade(String enName, String cName){
this.enName = enName;
this.cName = cName;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
}
public class TestEnum {
public static void main(String[] args) {
Grade grade = Grade.FIVE;
switch (grade){
case ONE:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
case TWO:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
case THREE:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
case FOUR:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
case FIVE:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
case SIX:
System.out.println(grade.getEnName() + " : " + grade.getcName());
break;
default:
System.out.println();
break;
}
}
}
- map
import java.util.HashMap;
import java.util.Map;
public class TestMap {
public static void main(String[] args) {
Map<String, String> grade = new HashMap<String, String>();
grade.put("one", "一年级");
grade.put("two", "二年级");
grade.put("three", "三年级");
grade.put("four", "四年级");
grade.put("five", "五年级");
grade.put("six", "六年级");
System.out.println(grade.get("one"));
}
}
public class TestMap2 {
public static final HashMap<String, String> grade = new HashMap<String, String>();
static {
grade.put("one", "一年级");
grade.put("two", "二年级");
grade.put("three", "三年级");
grade.put("four", "四年级");
grade.put("five", "五年级");
grade.put("six", "六年级");
}
public static void main(String[] args) {
System.out.println(grade.get("two"));
}
}
- array
/**
* 0: 新建
* 1: 提交
* 2: 下单
* 3: 撤销
* 4: 删除
*/
public class TestArray {
public static final String[] status = {"新建", "提交", "下单", "撤销", "删除"};
public static void main(String[] args) {
System.out.println(status[0]);
}
}
当这种表示在代码中多次被使用时,后面三种方法的优点是:当需要修改某一个所代表的含义,只需要修改一处(标识符常量定义的位置)就可以;然而如果用if判断的,就需要修改所有用到的。