1、自动拆装箱
*装箱
-把进本数据类型转换成包装类
*拆箱
-把包装类转换成基本数据类型
*由于在jdk1.4没有自动拆装箱,而出现的新特性就会向下兼容,存在重载方法时候,一个需要自动拆装箱,另一个不需要,则在1.4版本,甚至以上的版本都会执行不进行自动拆装箱的方法。
public static void doSomething(double m){
System.out.println("double");
}
public static void doSomething(Integer m){
System.out.println("Integer");
}
*代码演示
public static void main(String[] args) {
Integer i = 10;
//自动装箱
int m = 1;
//自动拆箱
}
//在jdk1.4里面实现拆装箱,jdk向下兼容,在1.4以上也可以运行
public void test1()
{
Integer m = new Integer(10);
//装箱
int a = m.intValue();
//拆箱
}
2、可变参数
*可变参数可以应用在什么场景
*实现2 3 4 个数的相加
-如果实现的多个方法,这些方法里面的逻辑是一致的,仅仅是参数个数不同,那么这个时候就使用可变参数实现
*语法: 数据类型...名称 与 JavaScript中的arguments一样的
-可以理解为数组,这个数组用来存储传递过来的参数
*注意:
-可变参数必须写在方法的形式参数列表中,不能单独定义
-在方法中,只能有一个可变参数
-方法的形式参数列表中,可变参数必须放在最后面,代码如下
*代码演示
//可变参数
public static void add(int n , int...nums)
{
int sum = 0;
for(int i=0 ; i<nums.length ; i++)
{
sum += nums[i];
}
System.out.println("sum = "+sum);
}
3、静态导入
*可以在代码里面,直接使用静态导入方法
*注:
-//特有的方法,静态导入后可以直接写方法名
-//都有的方法,静态导入后还是需要写方法所在的类名
*代码演示
import java.util.Arrays;
import static java.util.Arrays.*;//导入的是Arrays这个类中的所有静态成员。
import static java.lang.System.*;//导入了System类中所有静态成员。
public class StaticImport {
public static void main(String[] args) {
int[] a={1,5,8,4,7,96};
//特有的方法,静态导入后可以直接写方法名
sort(a);
//都有的方法,静态导入后还是需要写方法所在的类名
System.out.println(Arrays.toString(a));
}
}
4、增强for循环
*语法:for(对应的数据类型 名称 :数据类型)
*在数组可以使用,集合也可以
-集合实现了Iterator接口,就可以使用增强for
--list,set实现了Iterator接口,可以使用
--map没有实现Iterator,不可以使用
*增强for循环出现的目的:为了替代迭代器
-增强for循环底层就是Iterator实现的
自动拆装箱、可变参数、静态导入、增强for
猜你喜欢
转载自blog.csdn.net/weixin_39531549/article/details/81433160
今日推荐
周排行