A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一碗小米周 中级黑马   /  2014-5-29 23:15  /  949 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • import java.util.Arrays;
  • public class Test {
  •         public static void main(String[] args) {
  •                 String[] str = {"abc","bcd"};
  •                 int[] a = {1,2,3};
  •                 int[][] b={{1,2,3},{1,2,3}};
  •                 System.out.println(Arrays.asList(str));
  •                 System.out.println(Arrays.asList(a));
  •                 System.out.println(Arrays.asList(b));
  •         }
  • }


[color=rgb(177, 8, 0) !important]复制代码

  • [abc, bcd]
  • [[I@152b6651]
  • [[I@544a5ab2, [I@5d888759]

[color=rgb(177, 8, 0) !important]复制代码

我想请教下各位,那个二维数b输出结果是那样呢?按照张老师说的,int[][] b 应该是等于Object[] b的呢。那么为什么不能打印出二维数组的内容呢。求大神指导。谢谢。

1 个回复

倒序浏览
本帖最后由 没壳的蜗牛 于 2014-5-30 09:38 编辑

如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转换成集合中的元素。由于集合中不能存入基本数据类型,如果数组中的元素都是基本数据类型,那么会将该整个数组作为集合中的元素存在。
由于你的b里面存入的都是基本数据类型int,所以将数组转换成List集合时,就会将二维数组当成两个数组存入List。而str的数据类型是String对象。
  1. import java.util.*;
  2. public class TestDemo3 {

  3.         public static void main(String[] args) {
  4.                 // TODO Auto-generated method stub
  5.                  String[] str = {"abc","bcd"};
  6.                  Integer[] a = {1,2,3};//楼主可以将这个改为Integer对
  7.                  int[][] b={{1,2,3},{1,2,3}};
  8.          System.out.println(Arrays.asList(str));
  9.          System.out.println(Arrays.asList(a));
  10.          System.out.println(Arrays.asList(b));
  11.         }

  12. }
复制代码
结果:
[abc, bcd]
[1, 2, 3]
[[I@2e739136, [I@2542880d]



回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马