您的位置:首页 > 职场人生

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

2014-07-03 21:37 597 查看
------- 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对象时,会被缓存起来,下次使用又要把一个整数装成一个对象时,会先到缓存里找是否存在这样的对象,有则直接拿来用,没有才再封装对象
这就是享元模式,当某些经常使用、不用改变但又很小的对象时我们不必在每次使用时都来创建对象,只搞一个对象,使用时直接拿来用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐