JDK5后的新特性简介
作者:互联网
新特性
自动拆装箱
泛型
增强for
静态导入
可变参数
枚举
增强for:
for(元素的数据类型 变量:数组或者collection集合){
使用变量即可,该变量就是元素
}
(要遍历的数组或集合必须是实现Interable接口的)
好处:
简化了数组和集合的遍历
弊端:
增强for的目标不能为null,不支持遍历时修改
如何解决呢?
对增强for的目标先进行不为null的判断然后使用,增强for其实就是用来替代迭代器的。
List<String> list=null
if(list!=null){
for(String s: list){
System.out.println(s);
}
}
静态导入:
格式:
import static 包名...类名,方法名(import static java.lang.Math.abs)
可以直接导入到方法级别
注意事项:
方法必须是静态的
如果有多个不同名的静态方法,容易不知道使用谁?这个时候要使用必须加前缀。由此可见 意义不大,所以一般不用,但是要能看懂
可变参数及其使用:
概述:
定义方法的时候不知道该定义多少个参数
格式:
修饰符返回值类型 方法名(数据结构。。。变量名){ }
注意:
这里的变量其实是一个数组
如果一个方法有可变参数,并且有多个参数,那么可变参数肯定在最后一个
public static int sum(int ... a){
int s=0;
for(int x : a){
s+=x;
}
return s;
}
Array工具类有一个方法把数组转到集合
public static <T> List <T> asList(T...a)
eg:把String strArray={"hello","world","java"} 转到集合
1.List<String> list=Arrays.asList(strArray);
2.List<String> list=Arrays.asList("hello,"world","java");
注意事项:
虽然可以把数组转成集合,但是集合的长度不能改变
练习:
A:集合的嵌套遍历
B:产生10个1~20之间的随机数,要求随机数不能重复
C:键盘录入多个数据,以0结束,并在控制台输出最大值
要求掌握:集合存储元素,加入泛型,并可以使用增强for遍历
面向对象思想:
1.有哪些类呢
2.每个类有哪些东西呢
3.类与类之间的关系是什么呢
分包:
A:功能划分
B:模块划分
C:先按模块划分,再按功能划分
标签:int,简介,list,特性,static,数组,集合,null,JDK5 来源: https://blog.csdn.net/qq_40935960/article/details/94958802