jdk新特性

时间:2022-12-26 08:53:26

自动拆装箱子:

import org.junit.Test;

public class Demo {
/*
* 自动拆装箱
* */
@Test
public void ZhuangXiang() {
//int -->Integer对应的包装类型
Integer i=33; //装箱
System.out.println(i);
} @Test
public void ZhuangXiang2() {
Integer i=new Integer(3);
int l2=i;//拆箱
System.out.println(l2);
}
}
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: Demo.java import java.io.PrintStream; public class Demo
{ public Demo()
{
} public void ZhuangXiang()
{
Integer i = Integer.valueOf(33);
System.out.println(i);
} public void ZhuangXiang2()
{
Integer i = new Integer(3);
int l2 = i.intValue();
System.out.println(l2);
}
}

2、可变参数

A、数组参数

package cn.jiemoxiaodi_01;

public class Demo {
public int add(int a, int b) {
return a + b;
}
public int addArray(int [] a){
int result=0;
for(int i=0;i<a.length;i++){
result+=result;
}
return result;
}
}

变长参数

package cn.jiemoxiaodi_01;

import org.junit.Test;

public class Demo {
public int add(int a, int b) {
return a + b;
}
public int addArray(int[] a){
int result=0;
for(int i=0;i<a.length;i++){
result+=a[i];
}
return result;
}
//***> ... 变凉参数
public static int addArray2(int... arr){
int result=0;
for(int i=0;i<arr.length;i++){
result+=arr[i];
}
return result;
} @Test
public void testAddArray2(){
System.out.println(Demo.addArray2(1,2,3,4));
}
}

一个方法中最多出现一个变长参数

变长参数必须是method 中的最后一个参数。

3、增强for

A、便利数组的时候,其实还是使用的for循环,只是普通的for 循环由编译器来进行处理了。

B、遍历集合的时候,使用的是iterator()迭代器遍历,只是迭代器遍历的代码由编译器帮我们完成了。

可以便利数组(ok)和(含有iterator方法的类)。