黑马程序员技术交流社区

标题: Arrays问题 [打印本页]

作者: 盛亚昆    时间: 2012-3-22 13:34
标题: Arrays问题
int []num={2,3,4};用Arrays.asList打印的是哈希值
Integer [] num={2,3,4},打印Arrays.asList就成了集合了 a


import java.util.*;
class  ArrarysDemo
{
        public static void main(String[] args)
{
                                               
                int []num={2,3,4};
                               List li =Arrays.asList(num);
                                 System.out.println(num);

                Integer [] nums={2,3,4}
                List li =Arrays.asList(nums);

                                  System.out.println(nums);
}
}
作者: liumeng    时间: 2012-3-22 13:48
import java.util.*;
public class  ArrarysDemo
{
        public static void main(String[] args)
{
                                                
                int[] num={2,3,4};
                               List li =Arrays.asList(num);
                                 System.out.println(li);

                Integer[] nums={2,3,4};
                List li1 =Arrays.asList(nums);

                                  System.out.println(li1);
}
}
static <T> List<T>
asList(T... a)
参数一般是对象类型吧
作者: 田斌    时间: 2012-3-22 13:56
代码有误呀!
Integer [] nums={2,3,4}缺分号
变量重名
List加泛型:
List<int[]> li =Arrays.asList(num);
List<Integer> li1 =Arrays.asList(nums);
System.out.println(num);       System.out.println(nums);输出语句没意义System.out.println(li);System.out.println(li1);
作者: 李东志    时间: 2012-3-22 14:38
Integer 是封装类,所以里面是一个个对象,打印Integer[] nums显示数组或转换后集合所有元素;
int[] num是一个数组,本身是一个对象,打印时显示hash值
作者: 周建    时间: 2012-3-22 15:13
Arrays.asList(int..... arr)这是1.5的新特性(可变参数),1.5之前用这种形式Arrays.asList(int[]  arr);1.5新特性兼容之前的版本,若传入的是数组,将自动拆包,将数组内的对象取出,前提是数组里面存的必须是对象,若是基本数据类型则将整个数组当成一个对象取出,所以System.out.println(li)将输出集合中存储的对象的值;
Integer i = 1;int[] a = new int[1];System.out.println(i)输出是1;System.out.println(a)输出是哈希值;

作者: 张锦萍    时间: 2012-3-22 16:27
你可以打印一下两个集合里面的元素看看,int是基本数据类型,Integer是对象类型,有toString方法返回的是它的value,import java.util.Arrays;
import java.util.List;
class  ArrarysDemo
{
         public static void main(String[] args)
{                                                
                int[] num={2,3,4};
                List li = Arrays.asList(num);
                System.out.println(li.get(0));
                System.out.println(li.get(0).getClass());              
               
                Integer[] nums={2,3,4};
                List li2 =Arrays.asList(nums);               
                System.out.println(li2.get(0));
                System.out.println(li2.get(0).getClass());
}
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2