26、增强的for循环和自动装箱拆箱

[java] view plain copy print ?
  1. 1、增强的For循环: 
[java] view plain copy print ?
  1. int[] arr = {1,2,3,4,5,6}; 
  2. for(int i = 0; i< arr.length;i++) 
  3.       System.out.println(arr[i]); 
  4. //增强的for循环 
  5. for(int element : arr) 
  6.     System.out.println(element); 

[java] view plain copy print ?
  1. List<String> list = new ArrayList<String>(); 
  2. list.add("a"); 
  3. list.add("b"); 
  4. list.add("c"); 
  5. for(String element : list) 
  6.       System.out.println(elemnet); 


当使用增强的for循环时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为这种方式丢失了索引信息。

2、自动装箱/拆箱(Autoboxing/unboxing)

      自动装箱/拆箱大大方便了基本类型数据和它们包装类的使用。
      自动装箱:基本类型自动转为包装类.(int >> Integer)
      自动拆箱:包装类自动转为基本类型.(Integer >> int)

[java] view plain copy print ?
  1. int a = 3; 
  2. Collection<integer> c = new ArrayList<Integer>(); 
  3. c.add(3);   //自动将int类型3转换为Integer类型并放到集合当中 
  4. c.add(a + 3); 
  5. for(Integer i : c) 
  6.       System.out.println(i); 


3、Integer类有一个缓存,他会缓存介于-128~127之间的所有整数。

Integer i1 =100;Integer i2 = 100;  i1 == i2为true。

Integer i1 =200;Integer i2 = 200;  i1 == i2为false。

4、可变参数

[java] view plain copy print ?
  1. public static int sum(int... nums) 
  2.    int sum = 0
  3.    for(int num : nums) 
  4.    { 
  5.       sum +=num; 
  6.    } 
  7.    return sum; 


可变参数:本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散值。

可变参数必须作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。

你可能感兴趣的:(java开发工具)