易截截图软件、单文件、免安装、纯绿色、仅160KB

java枚举

java枚举
为什么要定义枚举?
问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
用普通类来模拟枚举类型的定义,定义一个Weekday的类来模拟枚举功能。
》私有的构造方法
》每个元素分别用一个公有的静态成员变量来表示
》可以有若干个公有方法或抽象方法。例如要提供nextday的方法必须是抽象方法。采用抽象方法定义nextDay就将大量的if else语句转移成一个个独立的类。
如果想在一个类中编写完各个枚举类和测试调用类,那么可以将枚举定义或调用类的内部类。
public enum Position {
      BOSS(6) {
           @Override
           public Position next() {
                 return PROGRAMMER;
           }
      },
      PROGRAMMER {
           @Override
           public Position next() {
                 return MANAGER;
           }
      },
      MANAGER(){
           @Override
           public Position next() {
           return null;
           }   
      } ;
      Position() {}
   &nbs


相关文档:

请教java 问题。

写一个Application程序,界面上放置两个Textfield,一个Button,用户在第一个Textfield中输入姓名后敲回车键可以在第二个Textfield中输出:“Welcome you,用姓名”。用户点击Button可以退出程序。
帮帮忙吧!简单的Java语言。谢谢啦! ......

关于java的hashCode方法

Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后
者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是
Object.equals方法了。但是,如果每增加一个元素 ......

JAVA中的运算符


1

+=
:sum += 1;
相当于
sum = sum + 1;

2

++ --
:i++ i

1, i-- i

1, ++


放在数值后,表示执行运算后加(减)
1
,反正数值前表示执行运算前加(减)
1

3


: :
int n = a<10?1:2
表示如果
a
小于
10

n
等于
1
否则等于
2

4
......

Java时区bug,TimeZone.setDefault()只在当前线程有效

   项目是基于GMT时间的,在系统启动的时候,我们就会调用TimeZone.setDefault(timeZone)将默认时区设为GMT。
   后来突然发现,有时用户选择的时间经过后台一圈后回产生8个小时误差。又是间歇性的,要他重现的时候又偏不来。苦心debug,终于发现在部分线程中,时区还是GMT+8,后台某个调用可能把时区 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号