黑马程序员基础加强——JDK1.5的新特性: 自动拆箱和机制 枚举

时间:2022-01-25 19:39:46

---------------------- android培训java培训、期待与您交流! ----------------------

      

JDK1.5的新特性  : 自动拆箱和机制     枚举     
  
一.自动拆箱与自动装厢机制
将基本数据类型转换成Integer对象时基本数据类型在(-128——127)之间; 
   Integer  i1=123;
   Integer  i2=123;
   System.out.print(i1==i2);
 
result:true
 
  Integer  i1=133;
  Integer  i2=133;
  
result:false 
 
 小的整数在装箱的时候装成的是同一对象
 大的整数在装箱的时候装成了不同的对象

二.享元模式(flyweight)
 多个对象含有相同的属性将之封装成一个对象,将不同的属性变成方法的参数称之为外部状态,那些相同的
属性称之为对象的内部状态.
  


三 .枚举也是JDK1.5的一个新特性
 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错
枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现
这一目标

 实例:
 public class Enum {

 public static void main(String[] args) {
  WeekDay wd = WeekDay.SUN;
   System.out.println(wd.tostring());
 }

}

class WeekDay {
 private WeekDay() {

 }

 public static final WeekDay SUN = new WeekDay();
 public static final WeekDay MON = new WeekDay();
 public static final WeekDay TUS = new WeekDay();
 public static final WeekDay WEN = new WeekDay();
 public static final WeekDay THUR = new WeekDay();
 public static final WeekDay FRI = new WeekDay();
 public static final WeekDay SAT = new WeekDay();

 public WeekDay nextday() {
  if (this == SUN) {
   return MON;

  } else if (this == MON) {
   return TUS;
  } else if (this == TUS) {
   return WEN;
  }
  return null;

 }
 
 public String  tostring(){
  return this==SUN?"SUN":"MON";
 }

}

  我觉得枚举在C语言中用的不较多,以前很少在java中用过,现在看了视频觉得枚举在实际应用中的确不错
说白了,他能很好的解决实际生活中的例子,比如说:我们每次去学生街的时候都要经过红绿灯,我想红绿灯
之间的变换,就可以用枚举的知识来解决。具体的细节还得在网上查资料,视频上讲的不是很详细,只是给我们带
进了枚举的概念!

---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima