聊聊Arrays.deepToString()和Arrays.toString()的区别
Arrays.deepToString()主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。
示例:
packagecom.oovever.hutool.util; importjava.util.Arrays; /** *@AuthorOovEver *@Date2017/12/2417:31 */ publicclasstest{ publicstaticvoidmain(String[]args){ inta[]={1,2,3}; System.out.println(Arrays.toString(a)); intb[][]={{1,2,3},{4,5,6}}; System.out.println(Arrays.toString(b)); System.out.println(Arrays.deepToString(b)); } }
结果
[1,2,3] [[I@14ae5a5,[I@7f31245a] [[1,2,3],[4,5,6]]
补充:Arrays.deepToString()解释和用法(返回指定数组“深层内容”的字符串表示形式)
deepToString
publicstaticStringdeepToString(Object[]a)
包位置:
java.util.Arrays.deepToString()
返回值:
返回指定数组“深层内容”的字符串表示形式。
解释与用法:
如果数组包含作为元素的其他数组,则字符串表示形式包含其内容等。此方法是为了将多维数组转换字符串而设计的。
字符串表现形式:字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符","(逗号加空格)分隔。这些元素通过String.valueOf(Object)转换为字符串,除非它们是自身的数组。
举例说明:
importjava.util.Arrays; /** *Arrays.deepToString()方法打印的是二维数组中一维数组中的值 *Arrays.toString()方法打印的是二维数组中一维数组的地址 */ publicclassTestDeepToString{ publicstaticvoidmain(String[]args){ int[]array1={6,6,6}; int[]array2={8,8,8}; int[][]array3={array1,array2}; //int[][]array4={{6,6,6},{8,8,8}}; System.out.println(Arrays.deepToString(array3));//[[6,6,6],[8,8,8]] System.out.println(Arrays.toString(array3));//[[I@511d50c0,[I@60e53b93] } }
打印结果:
[[6,6,6],[8,8,8]] [[I@511d50c0,[I@60e53b93]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。