黑马程序员技术交流社区
标题:
关于asList()方法的问题
[打印本页]
作者:
李菁
时间:
2012-9-13 21:14
标题:
关于asList()方法的问题
public class Test {
public static void main(String[] args)throws Exception {
int[] num = {1,4,21,3,44};
String[] arr = {"xzc","qwe","sada"};
List<String> list1 = Arrays.asList(arr);
//为什么用在String类型的数组长没有问题
List<Integer> list2 = Arrays.asList(num);
//为什么在这就会报错
System.out.println(list1);
System.out.println(list2);
}
}
作者:
覃宏海
时间:
2012-9-13 21:23
本帖最后由 覃宏海 于 2012-9-13 21:27 编辑
import java.util.*;
public class Test {
public static void main(String[] args)throws Exception {
Integer
[] num = {1,4,21,3,44};
//int是类型 Integer是类
//int[] num = {1,4,21,3,44};
String[] arr = {"xzc","qwe","sada"};
List<String> list1 = Arrays.asList(arr);//为什么用在String类型的数组长没有问题
List<Integer> list2 = Arrays.asList(num);//为什么在这就会报错
System.out.println(list1);
System.out.println(list2);
}
}
作者:
孙岳
时间:
2012-9-13 21:25
把int改成Integer就行了,int[]是整型数组,Integer[]才是整型集合。
作者:
杨震
时间:
2012-9-13 21:27
本帖最后由 杨震 于 2012-9-13 21:32 编辑
import java.util.*;
import java.util.Arrays;
public class Test2 {
public static void main(String[] args)throws Exception {
Integer
[] num = {1,4,21,3,44};//
这里改成Integer就行了
String[] arr = {"xzc","qwe","sada"};
List<String> list1 = Arrays.asList(arr);//为什么用在String类型的数组长没有问题
List<Integer> list2 = Arrays.asList(num);//为什么在这就会报错
System.out.println(list1);
System.out.println(list2);
}
}
Arrays.asList是个泛型方法
static <T> List<T> asList(T......args);
你看它的方法声明,参数应该是个T类型的数组,而且对于泛型,T必须是类类型,不能是基本类型
作者:
李菁
时间:
2012-9-13 21:31
明白了,问题已解决
作者:
舒远
时间:
2012-9-13 21:33
基本类型的一维数组可以被当作Object类型使用,不能当做Object[]类型使用,
非基本类型的一维数组,既可以当做Object类型使用,又可以当做Object[]类型使用。
Object[] a = new String[]{};//编译通过。
作者:
尤圣回
时间:
2012-9-13 21:36
public class Test {
public static void main(String[] args)throws Exception {
int[] num = {1,4,21,3,44};
String[] arr = {"xzc","qwe","sada"};
List<String> list1 = Arrays.asList(arr);//为什么用在String类型的数组长没有问题
List<Integer> list2 = Arrays.asList(num);//为什么在这就会报错
//你知道泛型的正确用法吗泛型里面要吗是对象 要吗是装饰类而不是基本类型 int是基本类型 他的装饰类是 Integer ,String可以 因为他不是基本类型
System.out.println(list1);
System.out.println(list2);
}
}
作者:
任艳旭
时间:
2012-9-13 22:26
这个应该给分!
作者:
李菁
时间:
2012-9-13 22:32
任艳旭 发表于 2012-9-13 22:26
这个应该给分!
我就喜欢你的回复 哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2