Java bean 都用了很多了,不过最近开始在一些get方法里做一些操作,不再是简简单单的return语句了,但不知道这会有什么负面影响,但网上也找不到自己想要的东西,只能在这里随便写的什么了。
有这样一个bean:
public String getTypeString(){
if(this.type==1){
return "链接通知";
}
reutrn "文本通知";
}
上面的bean中 红色代码是我另外加的(对象没有这个typeString变量),根据类型type的值返回相应的文字信息,这样我在页面展示是
就不用在模板里对type进行判断该显示什么值了,现在我唯一不确定的就是会不会有负面影响。
还有另外一种写法如下,适用于type较多是使用:
public class Notice{
/**
* 公告类型: 0 文本类型
*/
public static final int TYPE_OF_CONTEXT = 0;
/**
* 公告类型: 1 链接类型
*/
public static final int TYPE_OF_LINK = 1;
private static final Map<String,String> typeMaps = new LinkedHashMap<String,String>(4);
private String title;
private String context;
private int type; //通知类型,默认 0:文本通知;1:链接通知',
static{
typeMaps.put("0","文本通知");
typeMaps.put("1","链接通知");
}
//常规的get,set方法省略
……
public String getTypeString() {
return typeMaps.get(String.valueOf(this.type));
}
public static Map<String, String> getTypeMaps() {
return ((LinkedHashMap)typeMaps).clone();
}
}
public String getTypeString() {
return typeMaps.get(String.valueOf(this.type));
}
public static Map<String, String> getTypeMaps() {
return ((LinkedHashMap)typeMaps).clone();
}
}
如果需要用到type类型对应的所有的枚举值(即getTypeMaps方法的返回值)时,不要返回对typeMaps的原始引用,否则有谁手贱做了修改的话,那就惨了!
也许是我工作是前后端都做,为了前端省事才想了这么一种方式,否则,我才不那么整,前端吗?就让人写的人去挨个判断去吧!我唯一不确定的就是这种方式方法会不会有负面作用。