modelにおける列挙(enum)の応用
2565 ワード
package hb.thread;
public class AJMessage {
private String subject;//
private String body;//
private AJMessageType type;//
private String from;//
private String id;//id
private String to;//
/**
* all
* online
*/
private String thread;
public String getThread() {
return thread;
}
public void setThread(String thread) {
this.thread = thread;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public AJMessageType getType() {
return type;
}
public void setType(AJMessageType type) {
this.type = type;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
//
public static enum AJMessageType{
normal("normal"),chat("chat"),groupchat("groupchat"),error("error"),headline("headline");
private String name;
private AJMessageType(String name){
this.name = name;
}
public String toString(){
return this.name;
}
}
}
コメント:
列挙にプライベート構造メソッドを追加し、一意の識別子として文字列属性を定義し、toString()メソッドを複写することで、列挙の値を文字列で決定できます.
テストクラス:
package hb.thread;
public class Test {
public static void main(String[] args) {
// AJMessage msg = new AJMessage();
// msg.setType(AJMessage.AJMessageType.chat);
System.out.println(AJMessage.AJMessageType.chat);
System.out.println(AJMessage.AJMessageType.error);
System.out.println(AJMessage.AJMessageType.groupchat);
System.out.println(AJMessage.AJMessageType.headline);
}
}
印刷結果:
chat
error
groupchat
headline