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

来源:互联网 发布:公司销售网络介绍 编辑:程序博客网 时间:2024/06/06 09:43
1、增强的For循环:
int[] arr = {1,2,3,4,5,6};for(int i = 0; i< arr.length;i++){      System.out.println(arr[i]);}//增强的for循环for(int element : arr){    System.out.println(element);}

 

List<String> list = new ArrayList<String>();list.add("a");list.add("b");list.add("c");for(String element : list){      System.out.println(elemnet);}


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

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

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

int a = 3;Collection<integer> c = new ArrayList<Integer>();c.add(3);   //自动将int类型3转换为Integer类型并放到集合当中c.add(a + 3);for(Integer i : c){      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、可变参数

public static int sum(int... nums){   int sum = 0;   for(int num : nums)   {      sum +=num;   }   return sum;}


 

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

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

 

 

 

 

原创粉丝点击