分享一道经典Java面试题:

  Java 中怎么打印数组?
你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法来打印数组。由于数组没有实现 toString() 方法,所以如果将数组传递给 System.out.println() 方法,将无法打印出数组的内容,但是 Arrays.toString() 可以打印每个元素。

 

 答案过于简单,所以进一步相关知识点:


 

Java输出数组的内容

转载作者博客主页:http://blog.csdn.net/chszs

1. 输出内容最常见的方式

  1. // List<String>类型的列表  
  2. List<String> list = new ArrayList<String>();  
  3. list.add("First");  
  4. list.add("Second");  
  5. list.add("Third");  
  6. list.add("Fourth");  
  7. System.out.println(list);  


输出:
[First, Second, Third, Fourth]

  1. // String数组  
  2. <pre name="code" class="java">String[] array = new String[] { "First", "Second", "Third", "Fourth" };  
  3. System.out.println(array.toString());</pre>  


输出:
[Ljava.lang.String;@12dacd1

2. 使用Array类输出数组内容

  1. // String数组  
  2. String[] array = new String[] { "First", "Second", "Third", "Fourth" };  
  3. System.out.println(Arrays.toString(array));  


输出:
[First, Second, Third, Fourth]

3. 输出数组的数组

可以使用Arrays.deepToString()方法。

  1. String[] arr1 = new String[] { "Fifth", "Sixth" };  
  2. String[] arr2 = new String[] { "Seventh", "Eight" };  
  3. // 数组的数组  
  4. String[][] arrayOfArray = new String[][] { arr1, arr2 };  
  5. // 比较下面的输出<br>  
  6. System.out.println(arrayOfArray);<br>  
  7. System.out.println(Arrays.toString(arrayOfArray));<br>  
  8. System.out.println(Arrays.deepToString(arrayOfArray));<br>  


输出:
[[Ljava.lang.String;@1ad086a
[[Ljava.lang.String;@10385c1, [Ljava.lang.String;@42719c]
[[Fifth, Sixth], [Seventh, Eighth]]

再看下面的完整例子:

  1. import java.util.ArrayList;  
  2. import java.util.Arrays;  
  3. import java.util.List;  
  4.   
  5.   
  6. public class PrintArray {  
  7.     public static void main(String[] args) {  
  8.         List<String> list = new ArrayList<String>();  
  9.         list.add("First");  
  10.         list.add("Second");  
  11.         list.add("Third");  
  12.         list.add("Fourth");  
  13.   
  14.   
  15.         System.out.println(list);  
  16.   
  17.   
  18.         String[] array = new String[] { "First", "Second", "Third", "Fourth" };  
  19.         System.out.println(array.toString());  
  20.         System.out.println(Arrays.toString(array));  
  21.   
  22.   
  23.         String[] arr1 = new String[] { "Fifth", "Sixth" };  
  24.         String[] arr2 = new String[] { "Seventh", "Eigth" };  
  25.         String[][] arrayOfArray = new String[][] { arr1, arr2 };  
  26.   
  27.   
  28.         System.out.println(arrayOfArray);  
  29.         System.out.println(Arrays.toString(arrayOfArray));  
  30.         System.out.println(Arrays.deepToString(arrayOfArray));  
  31.     }  
  32. }  


输出:

[First, Second, Third, Fourth]
[Ljava.lang.String;@12dacd1
[First, Second, Third, Fourth]
[[Ljava.lang.String;@1ad086a
[[Ljava.lang.String;@10385c1, [Ljava.lang.String;@42719c]
[[Fifth, Sixth], [Seventh, Eigth]]

 

Java 中怎么打印数组?相关推荐

  1. Java中如何打印数组

    初学者都会遇到这样的问题,即如何在控制台上打印数组,当我们直接用如下方法打印数组的时候 System.out.println(nums); 打印出来的结果会是数组的地址,例如说下面这样 注意,这里提到 ...

  2. Java中char类型数组打印数组名输出结果不是地址值

    Java中其他类型数组打印数组名,输出结果都是内存地址 Java中char类型数组打印数组名,输出结果不是内存地址 char类型的数组就相当于一个字符串. 因为输出流System.out是PrintS ...

  3. Java中arraylist和数组的相互转换

    Java中ArrayList和数组之间的相互转换 ArrayList转为数组 数组转为ArrayList 一.ArrayList转换数组 public static void arrayListToA ...

  4. Java中创建泛型数组

    Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...

  5. java在数组中放入随机数_如何在Java中随机播放数组

    java在数组中放入随机数 There are two ways to shuffle an array in Java. 有两种方法可以在Java中随机播放数组. Collections.shuff ...

  6. java 数组转化为arraylist_在Java中怎样把数组转换为ArrayList?

    本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限.这跟我没什么关系,我们还是先看看这个问题吧. 这 ...

  7. Java中如何将一个数组分割成多个等长度的数组

    Java中如何将一个数组分割成多个等长度的数组,最后剩下的为一个素组 先看图 分析数据 提取公式 分装代码 1.如下我们需求 最近朋友android项目中有一个需求如下: 这一个长集合[item0, ...

  8. Java中如何实现数组反转,将数组元素倒过来排列?【含详细解析】

    Java中如何实现数组反转,将数组元素倒过来排列?[含详细解析] 数组元素反转:本来的样子{1,2,3,4,5},反转后{5,4,3,2,1}.要求,不能使用新数组. 分析过程 数组元素反转其实就是对 ...

  9. java中定义byte数组,浅谈java的byte数组的不同写法

    (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...

最新文章

  1. 【BLOG】流光映雪
  2. QtCreator添加图片资源
  3. 国外计算机专业入门语言,【转自知乎】给想要报考计算机专业学生的一些建议...
  4. jQuery 中的事件参数传递机制
  5. laravel 邮件配置
  6. http://blog.csdn.net/rongdeguoqian/article/details/8035080
  7. 简单解决Python文件中文编码问题
  8. php 分表 实战,PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP)
  9. Node.js:Webpack
  10. IOS开发之Post 方式获取服务器数据
  11. atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制
  12. excel 电阻并联计算_25套电气计算软件加24个电气计算表格,从此电气计算不求人!...
  13. 给程序员推荐的一款机械键盘
  14. 蓝桥杯刷题,第四界省赛B组
  15. xiuno开发文档_XiunoPHP4.0开发手册 | 雷雨博客
  16. c语言中14 3,C语言中的单精度和双精度浮点型的区别!3.14是哪种?3.14159呢?
  17. CSDN取消手机绑定
  18. java求互质数_判断互质数的五种方法
  19. 【python】python里的关键字
  20. HBCTF第三场WP

热门文章

  1. QTextEdit和QTextDocument(一)
  2. 自然语言处理——文本分类概述
  3. ping github.com 请求超时/丢包率为100% || Windows “您没有权限在此位置保存文件”(已解决)
  4. 【CV系列】扫描线算法区域填充
  5. 华擎计算机主板配置,组装的华擎主板win10改win7系统及bios设置教程
  6. 44.git仓库账号或着密码修改之后需要重新配置SSH公钥
  7. 快手安全 X 墨菲安全 | 软件供应链安全解决方案完整分享
  8. DeepLab语义分割
  9. Gradle Composite builds 扩展使用
  10. mp3 文件格式介绍