静态导入
静态导入就是导入静态方法和常量,但是此方法的实用性不是很高,因为这样做会引起代码冲突
静态导入代码案例:
import static java.lang.System.out; public class YouXin03 { public static void main(String[] args) { out.println("hello"); //使用System类的静态out方法 } }
自动拆装箱
装箱:把基本的数据类型转换成包装类
拆箱:把包装类转换成基本的数据类型
//JDK5.0的拆装箱 public void youXinTest01() { Integer m = 10; //装箱 int m = i; //拆箱 } //JDK1.4的拆装箱 public void youXinTest02() { Integer m = new Integer(10); //装箱 int a = m.intValue(); //拆箱 }
JDK向下兼容问题
public class YouXin04 { public static void main(String[] args) { //因为JDK1.4不能实现自动拆装箱,所以进入的是doSomething(double m);因为变量自动向上转型 doSomething(10); } public static void doSomething(double m) { System.out.println("double...."); } public static void doSomething(Integer a) { System.out.println("Integer...."); } }
增强for循环
增强for就是对普通for(int a=0;a<10;a++){}循环的一种简便写法,同时目的也是为了替代迭代器,因为增强for底层就是迭代器的实现,但增强for循环有个使用场景限制就是:只能是数组或者是实现 Iterable 接口的集合,可以使用增强for循环,特别注意的是集合中List和Set集合实现了 Iterable接口,但Map没有实现,所以Map不能使用增强for循环,下面举个例子来说下使用增强for。
public class YouXin04 { public static void main(String[] args) { //创建List List<String> list = new ArrayList<String>(); list.add("111"); list.add("222"); list.add("333"); //增强for遍历list集合 for(String item : list) { System.out.println(item); } System.out.println("================"); //迭代器遍历list集合 Iterator<String> it = list.iterator(); while(it.hasNext()) { System.out.pringln(it.next()); } } }
可变参数
可变参数顾名思义就是参数的个数可变的,下面举个例先来看看什么是可变参数。
public class YouXin05 { public static void main(String[] args) { //调用同一个方法,但传递过去的参数却不同 add(10, 20); add(10, 20 ,30); add(10, 20 ,30 ,40); } public static void add(int...nums) { //以上调用都会进入到此方法 int sum = 0; for(int i=0; i< nums.length; i++) { sum += nums[i]; } System.out.println(sum); }
以上是可变参数的应用,但可变参数有些是需要注意的,比如:
- 可变参数需要写在方法的参数列表中,不能单独定义
- 在方法的参数列表中只能有一个可变参数
- 方法的参数列表中的可变参数,必须放在参数最后
importstatic java.lang.System.out; publicclass YouXin03 {publicstaticvoidmain(String[] args) { out.println("hello"); //使用System类的静态out方法 } }