首页 > 代码库 > JDK5.0新特性-可变参数
JDK5.0新特性-可变参数
可变参数:
格式 类型... 变量
本质上这个参数是一个数组。
优点:1.传参数时可以传递数组,也可以传递多个值。
2.可以不传递值.
Arrays.asList()可以将数组转换成List集合.
注意:得到的是一个固定长度的List集合。
原因:是因为数组长度是固定的,这个集合是由数组转换成的。
为什么要将数组转换成集合?
集合中提供更丰富的操作.
int[] arr = { 1, 2, 3 };
List list = Arrays.asList(arr);
System.out.println(list.size());
System.out.println(list);
将一个int[]转换成了List集合使用Arrays.asList方法
得到的集合长度为1,集合中的元素是int[]为什么?
集合中的元素是Object。
因为我们现要转换的集合中的元素是int类型,不能直接装入到集合中(也没有进行装箱)
这时就将数组对象做为了集合对象.List<int[]>
-------------------------------
package cn.itcast.param;import java.util.Arrays;import java.util.List;import org.junit.Test;//可变参数public class Demo { // // 求两个int数的和 // public int sum(int a, int b) { // return a + b; // } // // // 求三个数的和 // public int sum(int a, int b, int c) { // return a + b + c; // } // // 求n个数的和---使用数组解决 // public static int sum(int[] arr) { // int sum = 0; // for (int i = 0; i < arr.length; i++) { // sum += arr[i]; // } // return sum; // } public static int sum(int... a) { int sum = 0; for (int i = 0; i < a.length; i++) { sum += a[i]; } return sum; } public static void main(String[] args) { // 求两个数的和 int a = 10; int b = 20; // System.out.println(sum(new int[] { a, b })); // 需要人为手动进行包装.将数据包装到数组中。 // 对于我们开发人员,使用不爽。------------想要包装,就包装,不想包装就不包装.----可以使用可变参数. System.out.println(sum(a, b)); sum(); } // 在一个方法内只能有一个可变参数,并且这个可变参数必须写在最后,不能在其后在有其它参数 // public void demo(String...s,int b){} 可变参数后不可以在有参数 // public void demo(String...s1,String...s2){} 一个方法内只能有一个可变参数。 // public void demo(int b,String...s){} //只能在可变参数前加其它参数. // 可变参数示例 Arrays.asList() 它的作用可以将数组转换成集合. @Test public void demo() { // String[] s = { "a", "b", "c" }; // List list = Arrays.asList(s); //得到的是一个固定大小的List。 // // //list.add("d"); // System.out.println(list); int[] arr = { 1, 2, 3 }; List list = Arrays.asList(arr); System.out.println(list.size()); System.out.println(list); }}
JDK5.0新特性-可变参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。