整理一下java5的新特性(引用了很多,都有原文链接)

来源:互联网 发布:java架构师招聘 编辑:程序博客网 时间:2024/06/11 11:23
1.枚举

http://blog.csdn.net/qq_27093465/article/details/52180865
在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 
把集合里的对象元素一个一个提取出来。枚举类型使代码更具可读性,理解清晰,易于维护。枚举类型是强类型的,从而保证了系统安全性。而以类的静态字段实现的类似替代模型,不具有枚举的简单性和类型安全性。
静态导入
通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out。
可变参数(Varargs)
参数类型相同时,把重载函数合并到一起了。
methodName([argumentList], dataType... argumentName);
private static int sumUp(int... values) {
}

2.内省

http://www.cnblogs.com/yejiurui/archive/2012/10/06/2712693.html
通过反射的缺省处理方法,调用类的取值设置方法,修改私有属性。抽象编程。

3.泛型(Generic) 

http://www.cnblogs.com/lzq198754/p/5780426.html
http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html
指定集合中的元素类型,取出时无需进行强制类型转换。
class Point<T>{       // 此处可以随便写标识符号,T是type的简称  
    private T var ; // var的类型由T指定,即:由外部指定  
     public T getVar(){  // 返回值的类型由外部决定  
        return var ;  
    }  
    public void setVar(T var){  // 设置的类型也由外部决定  
        this.var = var ;  
    }  
}; 
   通配符:可接受任意的泛型对象   Info<?> temp

4.For-Each循环 

int arr[] = {2, 3, 1};  
               for (int x : arr) {  
                   System.out.println(x); //逐个输出数组元素的值  
               }  
For-Each循环的缺点:丢掉了索引信息。
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

5.自动装箱拆箱
//自动装箱
Integer    total  =  99;   // Integer total = Integer.valueOf(99);
//自定拆箱
int    totalprim  =  total;   // int totalprim = total.intValue();
int 是基本数据类型
Integer是其包装类
java中,包装类比较多的用途是用在于各种数据类型的转化中
  

0 0