黑马程序员技术交流社区
标题:
方法Arrays.toString和Arrays.deepToString的使用场合有何不同?
[打印本页]
作者:
李迪
时间:
2011-7-24 19:23
标题:
方法Arrays.toString和Arrays.deepToString的使用场合有何不同?
方法Arrays.toString和Arrays.deepToString的使用场合有何不同?方法Arrays.equals和Arrays.deepEquals的使用场合有何不同?在这里能不能用一种方法去转换它呢?
作者:
匿名
时间:
2011-7-24 20:52
array.deepXXX()方法适用于数组中含有另一个数组的情况:
Array.toString方法当接受的数组中还有数组时打印出的仅是该内嵌数组的名字,
Array.deepToString方法会将内嵌数组的内容也打印出来,不管数组内嵌多少层,都会循环递归到最内层的数据.
另外,当数组中的数组有死循环般的引用时,也有相应的保护机制防止死循环
作者:
匿名
时间:
2011-7-24 21:09
楼上说的很对 deepToString方法主要用于多位数组 而toSring不能用在多维数组中 我这个给你举个例子吧
import java.util.*;
public class TestDeepArray
{
public static void main(String[] args)
{
String [][] b = new String[3][4];
for(int i = 0;i<3;i++)
{
for (int j = 0;j < 4;j++ )
{
b[i][j] = "A"+j;
}
}
//打印 content 和content1来看有什么不同
//通过打印可知content 的元素都被打印出来
//形如[[A0,A1,A2,A3],[A0,A1,A2,A3],[A0,A1,A2,A3]]
//而content1的则是一堆乱码
String content = Arrays.deepToString(b);
System.out.println("Hello World!: " +content);
String content1 = Arrays.toString(b);
System.out.println("Hello World!: " +content1);
}
}
如果将上面的 String content 1= Arrays.toString(b[1]);
则toString能正确显示
作者:
匿名
时间:
2011-7-24 21:53
toString()方法用来返回指定数组内容的字符串表示形式,而deepToString()返回指定数组深层内容的字符串(即多维数组)表示形式,deepEquals()方法也是为了解决equals() 不能解决深层的嵌套数组的问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2