黑马程序员技术交流社区

标题: jdk1.5新特征 [打印本页]

作者: 石头-剪刀    时间: 2014-9-15 10:36
标题: jdk1.5新特征
本帖最后由 石头-剪刀 于 2014-9-15 18:31 编辑

一、静态导入:调用类的静态方法时,不需要写出类名。例      
import static java.lang.Math.max;  //静态导入
                class Test{
                    public static void main(String[] args){
                System.out.println(max(3,5));
                    }

二、可变参数:格式:变量类型...变量名,只能出现在参数列表的最后,调用可变参数的方法时,编译器为该可变参数隐含创建一个数组。例:
class Test{
     public void print(Integer...name){      //可变参数
         for(int i = 0 ; i < name.length;i++){
             System.out.println(name);
         }
     }
     public static void main(String[] args){
           new Test().print(new Integer[]{2,3,4,5,6});
            new Test().print(new Integer[]{1,2,3});
     }
}

三、增强for循环,也叫foreach
    public static void main(String[] args){
        int[] arr = new int[]{1,2,3,4};
        for(int x :arr){        //增强for循环
            System.out.println(x);
        }
    }

四、泛型
在jdk1.5以前,创建集合的写法如下:例,List list = new ArrayList()

        在jdk1.5以后,创建集合的写法改成:例,List<String> list = new ArrayList<String>()或者 List<String> list = new ArrayList<>()(Java 7新特征),当插入非String类型对象后,会抛出ClassCastException。增加泛型后的集合,代码更加简洁,程序更加健壮。
        
      
五、基本数据类型自动装箱和拆箱:Java为8个基本类型提供了对应的包装类,通过这些包装类可以把8个基本类型的值包装成对象使用,对应关系是:
基本数据类型
包装类


基本数据类型
包装类
byte
Byte


short
Short
int
Integer


long
Long
char
Character


float
Float
double
Double


boolean
Boolean

例:
jdk1.5前:                Integer i = new Integer(5);
                                int a = i.intValue();
                        System.out.println(a);;
jdk1.5后:        Integer i = 5;

六、类型安全的枚举(可以把枚举当成类一样看待)
类型安全枚举特征:
1.提供编译时类型安全
2.枚举都是对象
3.可以添加方法
例:
enum Myenum{
        enum1(1),enum2(5),enum3(10);
        private int value;
        Myenum(int value){
                this.value = value;
        }

        public int getValue(){
                return this.value;
        }
}



作者: 戏言丶    时间: 2014-9-15 11:00
我是来学习的
作者: 石头-剪刀    时间: 2014-9-15 11:11
戏言丶 发表于 2014-9-15 11:00
我是来学习的

相互学习
作者: MichaelRodman    时间: 2014-9-15 17:14
抱歉。。那个包装类中的Int应该是Integer。。。
作者: 石头-剪刀    时间: 2014-9-15 18:31
MichaelRodman 发表于 2014-9-15 17:14
抱歉。。那个包装类中的Int应该是Integer。。。

是的是的,多谢指出,已改正
作者: 备战    时间: 2014-9-15 19:03
顶一个。。
作者: MichaelRodman    时间: 2014-9-15 19:26
石头-剪刀 发表于 2014-9-15 18:31
是的是的,多谢指出,已改正

哪有。。共同进步
作者: iefegend    时间: 2014-9-15 19:37
看看。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2