黑马程序员————————关于JDK1.5的新特性

来源:互联网 发布:淘宝qq群机器人多少钱 编辑:程序博客网 时间:2024/06/05 09:51

对于JDK1.50的新特性,一般有这几个常用的六个特点:

<一>、泛型(Generic):在一个集合里面,我们可以放任意类型的对象,然而要从这个集合拿到这些对象使用它的时候就不得不对其进行强制类型的转换。有了泛型之后,我们可以省去这样的担心。因为泛型承认指定集合里的元素类型。在编译的时候会对其检查。

<二>、for循环增强:它的好处在于简化了遍历集合的的写法。

比如:

int[] arr = {1,2,5,11,6,7,3};

用之前的那一种遍历这个经数组的写法:

   for(int i = 0;i<arr.length;i++){    System.out.println(arr[i]);}

用for循环增强就可以改写如下:

 for(int i : arr){   System.out.println(i);}

运用for循环增强的好处与弊端在于:代码简洁化了,避免了强制类型转换的一个操作。但是它有也弊端,如果说我们要查找一个集合里的下标值时,用for循环增强是不能做到的。

<三>、自动装箱/拆箱(Autoboxing/unboxing)

优点:

自动装箱/拆箱大大方便了基本数据类型和它们对应的包装类的转换使用。

自动装箱:基本数据类型转换成包装类(int > Integer).

自动拆箱:包装类转换成基本数据类型(Integer > int).

比如:

int a = 3; Collection c = new ArrayList(); c.add(a);//因为add()增加的是一个对象类型的,所以此时的a会自动的转换成包装类型的Integer类型

例:

Integer b = new Integer(2);c.add( b+2 );//这里的b自动转换成int类型进行加法运算,然后再把运算结果转换成Integer类型加入到ArrayList()集合里去。

<四>、在JDK1.50后,增加了一种全新的类型叫枚举,我们要定义一个枚举例:

public enmu Color{  Black,  Blue,  Yellow}

如果说我们要使用它:Color myColor = Color.Black.枚举还给我们提供了两个觉的方法values()和valueOf().我们也就可以方便的使用它们了。

<五>、可变参数(Varargs):在JDK1.5之前我们要在函数的的参数设置上定义时,如果要使用几个相同数据类型的变量时,可能会采用重载的方法来使用,要写很多的方法。这样使程序更为复杂。但是在JDK1.5之后,我们只需一个函数来实现,

例:

public void write(Object... objs){  for(Object obj : objs)   System.out.println(obj);}

<六>、静态导入(Static imports)

一般我们要调用一个静态方法和静态成员变量的时候,就必须有给出提供这个方法(或变量)的类。然而JDK1.5后使用了静态导入以后,我们在调用静态变量或者是静态方法的时候,无需给出提供这个方法(变量)的类。

例:

import static java.lang.Math.*;r = 20;//无需用类名.r = 20;

我们看起来倒是很方便,但是使用频率过高也就降低了代码的可读性。

0 0
原创粉丝点击