文章目录

    • JAVA打印数组的四种方法
      • 1.循环打印数组
      • 2.使用Arrays.toString()方法
      • 3.使用JDK 8 的 java.util.Arrays.stream()
      • 4 使用Arrays.deepToString()
  • 个人心得

JAVA打印数组的四种方法

无聊看模块Integer.java源码时(IDEA中鼠标悬浮在Integer上按ctrl+alt 可以转到类源码),因为刚学java,想尝试着仿照python的方法打印数组:

final int[] arr1 = {1,2,3,4,5};
System.out.println(arr1);

只打印出了地址:

于是上网搜了下打印数组内容的正确方法,整理如下:

1.循环打印数组

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};
public static void loopPrintArray(String []arr) {StringBuffer sb = new StringBuffer();for (int i = 0; i < arr.length; i++) {if(i>0){sb.append(",");}sb.append(arr[i]);}System.out.println(sb.toString());
}
// 循环打印数组
System.out.println("------------ loop -------------");
loopPrintArray(arr2); // 不带[]输出一行

结果:

可以看到,方法loopPrintArray是把数组中每一个元素用 “,” 连接成一个字符串再输出。

2.使用Arrays.toString()方法

使用Arrays类需要引用:

import java.util.Arrays;

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};
public static void toStingPringArray(String []arr) {System.out.println(Arrays.toString(arr));
}
// 使用Arrays.toString()方法
System.out.println("-- Arrays.toString() Methods --");
toStingPringArray(arr2); // 带[]输出一行

结果:

这个输出结果就和python中打印数组很相仿了。

3.使用JDK 8 的 java.util.Arrays.stream()

同样需要导入:

import java.util.Arrays;

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};
// 3.使用JDK 8 的 java.util.Arrays.stream()
public static void streamPrintArray(String []arr) {Arrays.stream(arr).forEach(System.out::println);
}
// 使用JDK 8 的 java.util.Arrays.stream()
System.out.println("--- Arrays.stream() Methods ---");
streamPrintArray(arr2); // 分行输出

结果:

Arrays.stream()方法是将数组元素分行输出。

4 使用Arrays.deepToString()

对于deepToString,若为多维数组则会用同样的方法打印

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};
String [][] arr3 = {{"llama","truthahn"},{"xiaoerer","laopenzi"},{"xiangnile","haha.."}};
// 4.1 使用Arrays.deepToString()
public static void deepToStringPringArray(String []arr) {System.out.println(Arrays.deepToString(arr));
}
// 4.2 对于deepToString,若为多维数组则会用同样的方法打印
public static void deepToStringPringArrayExpand(String [][]arr) {System.out.println(Arrays.deepToString(arr));
}
// 扩展使用Arrays.toString(): Arrays.deepToString()
System.out.println("- Arrays.deepToString() Methods -");
deepToStringPringArray(arr2);
// deepToStringPringArray(arr3); // 不兼容:java.lang.String[][]无法转换为java.lang.String[]
System.out.println("- Arrays.deepToString() Expanded -");
deepToStringPringArrayExpand(arr3);

结果:

可以看到对二级数组,使用deepToString()方法使得数组arr3按照之前相同的模式输出。

个人心得

学习一种编程语言时还是要多思考,理解和实践同样重要。

JAVA打印数组的四种方法相关推荐

  1. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  2. java 获取包路径_java获取java文件路径的四种方法

    java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...

  3. java创建数组的两种方法

    java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...

  4. 如何判断数组的四种方法

    日常中我们会用typeOf运算符去判断数据的类型,结果如下 其中对于对象和数组用typeof方法得到的结果都是object,这是因为在JavaScript中所有数据类型严格意义上都是对象,对象是对象, ...

  5. java中创建数组的四种方法

    详细方法见如下四部分代码块 方法一: 详情见注释 //创建数组的第一种方法int[] arr=new int[6]; //通过创建对象的方法来声明一个数组对象int intValue=arr[5]; ...

  6. php遍历数组的四种方法,PHP遍历数组的常见几种方法

    小白发博文,看到某个知识点,就当复习下. $arr=array ( 'football' =>     'well', 'swimming'=>'very well', 'run'=> ...

  7. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  8. 【Java】使用Java调用Python的四种方法

    写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...

  9. python两个线程交替打印_三线程按顺序交替打印ABC的四种方法

    建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 二.Synchroni ...

  10. php 输出数组内容_关于打印数组的10种方法详解

    假设有一个数组:<?php $arr=["PHP","中文","网"]; echo $arr; ?>请问上面的代码会输出什么?上 ...

最新文章

  1. java frame paint_一个简单的java frame画图(paint)问题
  2. 为什么我们对90后的迎合难以成功?
  3. 图论-最长路--关于最长路的探讨2
  4. 图片旋转 rotate
  5. Ubuntu下vsftp安装和配置
  6. Hyper-V 3.0网络虚拟化PART 3:内部交换机
  7. 计算机中丢失了gdiplus.dll,解决 “计算机中丢失gdiplus.dll”
  8. Win10系统启动Markdown Pad2 报‘Awesomium.Windows.Controls.WebControl’
  9. 2022年低压电工上岗证题库及答案
  10. 微软云计算-私有云概述
  11. 网站标签页如何添加左边的小图标
  12. HTTP协议请求头部的User-Agen和Cookie
  13. 【沃顿商学院学习笔记】宏观经济学——05中产阶级Middle Class
  14. 传奇服务器脚本文件在哪个文件夹,传奇服务端目录文件详细说明
  15. 攻受音测试软件,我的攻受小瓶子测试入口
  16. [RaspberryPi] 一键部署树莓派Zero电子相框功能!
  17. matlab+中文字体设计,有搞头没有? 有搞头
  18. 数据库审计系统 mysql_数据库审计系统
  19. 项目:基于ffmpeg的Gif表情包生成器
  20. 计算机网络技术电子科技大学出版社答案,计算机网络技术与应用(西安电子科技大学出版社)(2010.9)课后习题参考答案...

热门文章

  1. t检验的显著性p值python_Python P值
  2. 从官网通过execl制作省市区行政代码
  3. Go开发关键技术指南
  4. 光纤中的非线性光学效应
  5. 如何在JMP中快速实现报表的个性化与可视化?
  6. java后台设置定时执行任务,Java定时任务调度详解
  7. Dmp文件导入(Imp命令)
  8. 如何在计算机设置鼠标宏,鼠标宏怎么设置,教您鼠标如何设置宏
  9. 【VUE】微商城(十)----收货地址
  10. java播放器显示歌词,android 音乐播放器显示歌词源码(天天动听悬浮歌词)