小程序原生组件—提升你的小程序体验
584
2023-02-10
聊聊Arrays.deepToString()和Arrays.toString()的区别
Arrays.deepToString()主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。
示例:
package com.oovever.hutool.util;
import java.util.Arrays;
/**
* @Author OovEver
* @Date 2017/12/24 17:31
*/
public class test {
public static void main(String[] args) {
int a[] = {1, 2, 3};
System.out.println(Arrays.toString(a));
int b[][] = {{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
public static String deepToString(Object[] a)
包位置:
java.util.Arrays.deepToString()
返回值:
返回指定数组“深层内容”的字符串表示形式。
解释与用法:
如果数组包含作为元素的其他数组,则字符串表示形式包含其内容等。此方法是为了将多维数组转换字符串而设计的。
字符串表现形式: 字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(Object) 转换为字符串,除非它们是自身的数组。
举例说明:
import java.util.Arrays;
/**
* Arrays.deepToString()方法打印的是二维数组中一维数组中的值
* Arrays.toString()方法打印的是二维数组中一维数组的地址
*/
public class TestDeepToString {
public static void main(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]
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~