作为一名码农是很容易的事,但是作为一名合格的码农确是一件比较艰难的事,当然可能对于某些人来说也是相当简单的事。
为了争取做一名尽量合格的码农,就事无巨细的记录一些自己成长路上遇到的错误或是好的东西。
今天说一说,枚举类。
基本的语法这里就不做记录了,只记录一下,工作中遇到的,可以更好解决问题的方法。
public enum OrderStateEnum {
CREATEING("制单","0"),
WAIT("待审核","1"),
PASS("已审核","2"),
NOTPASS("审核不通过","3"),
;
private String name;
private String code;
private OrderStateEnum(){
}
// 构造方法
private OrderStateEnum(String name, String code) {
this.name = name;
this.code = code;
}
// 这里可以自己根据需求封装一些普通方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
为了某些项目中用到查询条件,用这些枚举字段作为查询条件,就想着能不能封装一下方法完成;下面只记录一下思路:
1.第一次只是在类中定义了一个私有的方法,只负责当前类中的查询,如果只有一两处用到,那还是可以的,慢慢的发现,用到类似查询的地方还是挺多的,这个就不得不重新考虑一下;又想到能不能写一个所有枚举都可以用的方法呢?很无奈,这就是瓶颈了,这里不多说了,说多了都是泪(好好学习,天天向上)。
2.第二次改,是把封装方法写到了各个枚举类中,然后用枚举类.方名,返回想要的集合,这种方法自我感觉还算可以了,一切都是封装好的,只传两个参数,keyName,vlueName(只是要显示的名字,为了前台展示用),一个枚举类中的封装方法就形成了,可以获取查询条件中的select列表,看起来也是不错的,只是封装方法中,有创建类,有循环,虽然不影响什么,但总归还是有些瑕疵的。
3.第三次,算是又学到了更好的使用枚举,这个方法还是不错的,再加上封装,就更加完美了。
List<枚举类> list = new 对象();
list.add(枚举类.WAIT);//把name和code都加入到该list中,可以形成集合,如果想加入其他的可以在这里封装也可以在页面中加上
4.。。应该还有更好的,更通用的等待发觉。。。。。
在工作中,应该多看一些好的源码,多读一些优秀的文档,让自己的代码更加规范,多接触一些好的设计,开阔自己的眼界,同时,也能加入到自己的设计中去。
欢迎指正。。。。。