聊聊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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。