2、枚举类型的允许值,可以由DB保证(比如在tradeInfo.tradeType上加约束);也可以只是由程序谈逗山来控制 -- DB中加上约束会强壮一些,但会牺牲性能;
3、为了软件界面的易读性,通常需要让枚举值可读。每个枚举值对应的文本最好存贮在DB中。这个称为MasterData。可以建一张表存贮
4、如果有对应的主数含中据表,前面2中的约束,就可以改为Foreign Key
至于JAVA编程,枚举类型的处理,可以使用常量,也可以更优雅地定义一个类。
Java语言中的枚举类型的使用方法如下:
用法一:常量;
public enum Color {RED, GREEN, BLANK, YELLOW
}
用法二:switch;
enum Signal {GREEN, YELLOW, RED
}
public class TrafficLight {
Signal color = Signal.RED
public void change() {
switch (color) {
case RED:
color = Signal.GREEN
break
case YELLOW:
color = Signal.RED
break
case GREEN:
color = Signal.YELLOW
break
}
}
}
用法三:向枚举中添加新方法;
public enum Color {RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4)
// 成员变量
private String name
private int index
// 构造方法
private Color(String name, int index) {
this.name = name
this.index = index
}
// 普通方法
public static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
歼睁 return c.name
}
}
return null
}
// get set 方法
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public int getIndex() {
return index
}
public void setIndex(int index) {
this.index = index
}
}
用法四:覆盖枚举的方法;
public class Test {public enum Color {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4)
// 成员变量
private String name
private int index
扒闭 // 构造方法
private Color(String name, int index) {
this.name = name
this.index = index
}
// 覆盖方法
@Override
public String toString() {
return this.index + "_" + this.name
}
}
public static void main(String[] args) {
System.out.println(Color.RED.toString())
}
}
用法五:实现接口;
public interface Behaviour {void print()
String getInfo()
}
public enum Color implements Behaviour {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4)
// 成员变量
private String name
private int index
// 构造方法
private Color(String name, int index) {
this.name = name
春改裂 this.index = index
}
// 接口方法
@Override
public String getInfo() {
return this.name
}
// 接口方法
@Override
public void print() {
System.out.println(this.index + ":" + this.name)
}
}
用法六:使用接口组织枚举。
public interface Food {enum Coffee implements Food {
BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
}
enum Dessert implements Food {
FRUIT, CAKE, GELATO
}
}
以上就是Java语言中枚举类型的基本使用方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)