黑马程序员_可变参数、增强for循环、基本数据类型的自动装箱与拆箱、享元模式

------- android培训java培训、期待与您交流! ----------

1.      可变参数:

特点:只能出现在参数列表的最后

...位于变量类型和变量名之前,前后有无空格都可以

           调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

public class Test {

    public static void main(String[] args) {

       System.out.println(getSum(1,2,3,4,5));

    }

    public static int getSum(int x,int...args){

       int sum=x;

       for(int arg:args)

           sum+=arg;

       return sum;

    }

}

2.    增强for循环

语法:for(type 变量名:集合变量名){}

注意:

    迭代变量必须在()中定义

    集合变量可以是数组或实现了Iterable接口的集合类

    局限性:增强for循环只能访问数据而不能改变数据

如1中的代码就用了增强for循环。

public static int getSum(int x,int...args){

       int sum=x;

       for(int arg:args)

           sum+=arg;

       return sum;

    }


3.    基本数据类型的自动装箱与拆箱、享元模式

public class Test {

    public static void main(String[] args) {

       Integer i1=9;

       Integer i2=9;

       Integer i3=235;

       Integer i4=235;

       System.out.println(i1==i2);

       System.out.println(i3==i4);

    }

}

结果:

true

false

基本数据类型和Integer对象之间会进行自动装箱与拆箱

Integer是int型数据的封装类,-128~127(一个字节)的数据被包装成Integer对象时,会被缓存起来,下次使用又要把一个整数装成一个对象时,会先到缓存里找是否存在这样的对象,有则直接拿来用,没有才再封装对象

这就是享元模式,当某些经常使用、不用改变但又很小的对象时我们不必在每次使用时都来创建对象,只搞一个对象,使用时直接拿来用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值