JDK1.5的新特性有哪些 增强for循环: 高级for循环和传统for循环的区别: 高级for循环在使用时,必须要明确被遍历的目标。这个目标, 可以是Collection集合或者数组,如果遍历Collection集合, 在遍历过程中还需要对元素进行操作,比如删除,需要使用迭代器。 如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为 可以定义角标通过角标操作元素。如果只为遍历获取,可以简化成高级for循环, 它的出现为了简化书写。 增强for循环注意问题:在使用增强for循环时,不能对元素进行赋值; 可变参数(...) 当要操作的同一个类型元素个数不确定的时候,可是用这个方式, 这个参数可以接受任意个数的同一类型的数据。 可变参数必须定义在参数列表结尾(也就是必须是最后一个参数,否则编译会失败。 静态导入:导入了类中的所有静态成员,简化静态成员的书写。 举:关键字 enum 自动拆装箱:java中数据类型分为两种 : 基本数据类型 引用数据类型(对象) 泛型:jdk1.5版本以后出现的一个安全机制。表现格式:< > 当类中的操作的引用数据类型不确定的时候 1:将运行时期的问题ClassCastException问题转换成了编译失败,体现在编译时期, 程序员就可以解决问题。 2:避免了强制转换的麻烦 //泛型类:将泛型定义在类上。 //当方法操作的引用数据类型不确定的时候,可以将泛型定义在方法上。 //静态方法上的泛型:静态方法无法访问类上定义的泛型。 如果静态方法操作的引用数据类型不确定的时候,必须要将泛型定义在方法上。 泛型中的通配符:可以解决当具体类型不确定的时候,这个通配符就是? 泛型限定: 上限:?extends E:可以接收E类型或者E的子类型对象。 下限:?super E:可以接收E类型或者E的父类型对象。 上限什么时候用:往集合中添加元素时,既可以添加E类型对象, 又可以添加E的子类型对象。为什么?因为取的时候, E类型既可以接收E类对象,又可以接收E的子类型对象。 下限什么时候用:当从集合中获取元素进行操作的时候,可以用当前元素的类型接收, 也可以用当前元素的父类型接收。
|