【IT168 技术】Java 中一个典型的枚举类型,看似字符串值,但包含一些附加的信息,包括排序以及附加的方法可以获取枚举值的信息。
下面是一个基本的枚举类型:
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
可增加附加信息,例如私有构造器、私有属性等,如下:
public enum Numbers {
One(1), Two(2), Three(3);
private Numbers(int value)
{
this.value = value;
}
public int getValue()
{
return this.value;
}
private int value;
}
One(1), Two(2), Three(3);
private Numbers(int value)
{
this.value = value;
}
public int getValue()
{
return this.value;
}
private int value;
}
在上面的例子中,我们引入了 getValue() 方法,这便是枚举的行为定义。
接下来我们要做的是枚举类型对接口的继承以及实际的用途。
为了显示工作过程,我们首先做一个接口,用来实现类和数据库表的一个映射:
public interface DatabaseMapping {
public String getType();
public boolean isKey();
public boolean isNullable();
//public String name();
}
public String getType();
public boolean isKey();
public boolean isNullable();
//public String name();
}
name() 方法这个时候被注释掉,待会我们会取消注释。
接下来我们创建一个新的 Java 类用以定义和数据库之间的映射关系:
public class Person {
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private String firstname;
private String lastname;
private int age;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private String firstname;
private String lastname;
private int age;
}