[2014-09-02]JAVA笔记_增强的for循环、自动拆箱装箱、可变参数
2014-09-02 17:53
375 查看
一、 增强的 for 循环
二、 自动拆箱、装箱(Autoboxing/Unboxing)
· Integer 类有一个缓存,它会缓存介于 -128~127之间的整数。
package com.bob.generics;
import java.util.ArrayList;
import java.util.Collection;
public class ForTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
//旧式方式
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
System.out.println("----------------------");
//新式方式
for(int i : arr){
System.out.println(i);
}
System.out.println("----------------------");
int a = 3;
Collection<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));
list.add(3); //自动装箱:将int类型的3转换为Integer类型并放到集合中
list.add(a + 3); //将6的值转换为Integer放入集合
for(Integer in : list){
System.out.println(in);
}
System.out.println("----------------------");
ArrayList li = (ArrayList)list;
for(int i = 0; i < li.size(); i++){
System.out.println(li.get(i));
}
}
}
三、 可变参数(Varargs)
·可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是方法声明中的最后一个参数。
package com.bob.generics; public class ForTest { public static void main(String[] args) { int[] arr = {1, 2, 3}; //旧式方式 for(int i = 0; i < arr.length; i++){ System.out.println(arr[i]); } System.out.println("----------------------"); //新式方式 for(int i : arr){ System.out.println(i); } System.out.println("----------------------"); } }·当遍历集合或数组是,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的 for 循环,因为它会丢失下标信息。
二、 自动拆箱、装箱(Autoboxing/Unboxing)
· Integer 类有一个缓存,它会缓存介于 -128~127之间的整数。
package com.bob.generics;
import java.util.ArrayList;
import java.util.Collection;
public class ForTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
//旧式方式
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
System.out.println("----------------------");
//新式方式
for(int i : arr){
System.out.println(i);
}
System.out.println("----------------------");
int a = 3;
Collection<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));
list.add(3); //自动装箱:将int类型的3转换为Integer类型并放到集合中
list.add(a + 3); //将6的值转换为Integer放入集合
for(Integer in : list){
System.out.println(in);
}
System.out.println("----------------------");
ArrayList li = (ArrayList)list;
for(int i = 0; i < li.size(); i++){
System.out.println(li.get(i));
}
}
}
三、 可变参数(Varargs)
·可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是方法声明中的最后一个参数。
package com.bob.generics; public class TestVarargs { private static int sum(String str, int... nums){ //可变参数只能放最后,且只能一个 System.out.println(str); int sum = 0; for(int num : nums){ sum += num; } return sum; } public static void main(String[] args) { // TODO Auto-generated method stub int result = sum("a", new int[]{1, 2}); //可变参数其实是一个数组 System.out.println(result); result = sum("b", 1, 2, 3, 4); System.out.println(result); } }总结: 可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可使传递数组的对象。但是如果将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散的值。 可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。
相关文章推荐
- Java基础笔记 – 增强的for循环For each循环 自动装箱拆箱 可变参数
- 20、java jdk 5.0新特性(静态导入&自动装箱和拆箱&增强for循环 &可变参数)
- 黑马程序员------java5的一些简单新特性(静态导入、可变参数、增强for循环、自动拆箱装箱及享元)
- JAVA JDK1.5新特性<静态带入、可变参数、增强For循环、自动装箱及自动拆箱>
- java - 增强for循环 - 自动装箱/拆箱 - 可变参数 - 静态导入
- Java JDK5.0的新特性 增强for循环 自动装箱/拆箱 可变参数 静态导入
- java基础增强--自动装箱拆箱、增强for循环、可变参数、枚举类、内省、beanUtils
- Java - 增强for循环 - 自动装箱/拆箱 - 可变参数 - 静态导入
- Java基础加强:静态导入及可变参数和增强for循环 ,基本数据类型的自动拆箱和装箱
- java新特性之静态导入、自动装箱和拆箱、增强for循环、可变参数、枚举
- java基础加强(枚举,反射,增强for循环,可变参数,自动拆箱装箱,内省)
- 黑马程序员——Java1.5新特性之享元模式、增强for循环、可变参数、静态导入、自动装箱和拆箱
- 【黑马程序员】黑马入学准备篇:Java高新技术之 静态导入、可变参数、增强for循环、自动装箱、枚举
- java基础增强--自动装箱拆箱、增强for循环、可变参数、枚举类、内省、beanUtils
- 黑马程序员<Java 1.5新特性>静态导入、增强for、可变参数、自动装箱拆箱、枚举
- 静态导入 可变参数 增强for循环 自动装箱 枚举
- Java5新特性之静态导入、可变参数、增强for循环、自动拆装箱
- Java高新技术【1】 (静态导入-可变参数-增强for循环-基本数据类型的自动拆箱与装箱)
- java JDK1.5新特性(一) [静态导入] [可变参数] [增强for] [自动装箱拆箱] [枚举]
- 黑马程序员_Java高新技术(静态导入、可变参数、增强for循环、自动拆装箱、枚举、反射)