常量定义,enum,还是static final

miracleliu 2014-09-29 11:26:08
试了下enum,感觉没怎么好用;

比如我要表示状态;

public enum Status {

SUCCEED(1), FAIL(2);


public int getIndex() {
return index;
}

public void setIndex(int index) {
this.index = index;
}

private int index;

private Status(int index) {
this.index = index;

}
}



要获取数值还要Status.FAIL.getIndex()
如果是常量,直接就Status.FAIL就ok了


大家怎么看?

...全文
840 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
放纵的青春 2014-09-29
  • 打赏
  • 举报
回复
看具体情况了 如果只是单个的就用常量 如果是类型 状态这种用枚举会好点吧
dzq584462393 2014-09-29
  • 打赏
  • 举报
回复
同意二楼的,我项目上就这么用
ghostkngiht 2014-09-29
  • 打赏
  • 举报
回复
多个属性时习惯用enum,单个属性还是static final方便。

public enum Status {
 
    SUCCEED(1,“成功”), FAIL(2,"失败");
 
 
    public int getIndex() {
        return index;
    }
 
    public void setIndex(int index) {
        this.index = index;
    }
 
    private int index;
    private String text;
 
    private Status(int index, String text) {
        this.index = index;
        this.text=text;
    }
}
蜗牛_snail 2014-09-29
  • 打赏
  • 举报
回复
T15675528702 2014-09-29
  • 打赏
  • 举报
回复
解释的很详细
ghx287524027 2014-09-29
  • 打赏
  • 举报
回复
常量是一旦定义就不可修改的值,在开发中,如果有多个常量,需要定义多个常量;如: public static final String MONDAY="周一"; public static final String TUESDAY ="周二"; public static final String WEDNESDAY="周三"; public static final String THURSDAY="周四"; public static final String FRIDAY="周五; public static final String SATURDAY ="周六"; public static final String SUNDAY ="周日"; 这样定义,显然比较费劲,枚举你可以理解为是对常量的封装,它是一个特殊的类。可以有自己自定义的方法,自定义的属性和构造函数。其次,变量的类型可以是枚举类型,这样就限定了变量的取值范围。如: 定义一个枚举 public enum WEEK{ MONDAY("周一"),TUESDAY(),WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY; //定义私有构造函数,给这些常量赋值 private String str; public String getStr(){ return this.str; } } 定义一个变量为枚举类型 WEEK w = WEEK.MONDAY; System.out.println(s.getStr());
泥称已被使用 2014-09-29
  • 打赏
  • 举报
回复
引用 5 楼 miraclestar 的回复:
[quote=引用 4 楼 darlingcll 的回复:] 枚举方便扩展,而单值的常量不容易维护
不明白,怎么扩展? 常量也不需要怎么维护啊[/quote] 枚举较多的用于选择上,比如页面的选择项,取出枚举的所有值即可,而常量一般用做数据层的表示,比如星期数,7天等等
miracleliu 2014-09-29
  • 打赏
  • 举报
回复
引用 4 楼 darlingcll 的回复:
枚举方便扩展,而单值的常量不容易维护
不明白,怎么扩展? 常量也不需要怎么维护啊
泥称已被使用 2014-09-29
  • 打赏
  • 举报
回复
枚举方便扩展,而单值的常量不容易维护

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧