问题
因为Java相对而言没有toString()方法,所以我如果直接调用调用toStrign()方法的话,只会得到它的内存地址。像这样,不会有人性化:
INT [] intArray = 新 INT [] { 1,2,3,4,5 };
系统。出来。println(intArray); //有时候会输出'[I @ 3343c8b3'
所以输出一个枚最简单的方法是什么?我想要的效果是
//数字数组:
INT [] intArray = 新 INT [] { 1, 2, 3, 4, 5 };
//输出:[1、2、3、4、5]
//对象
副本:String [] strArray = new String [] { “ John ”, “ Mary ”, “ Bob ” };
//输出:[约翰,玛丽,鲍勃]
回答
在Java 5+以上中使用Arrays.toString(arr)或Arrays.deepToString(arr)来打印(输出)数组。
不要忘了约会import java.util.Arrays;
包 packageName ;
导入 java.util.Arrays ;
INT [] intArray = 新 INT [] { 1,2,3,4,5 };
系统。出来。的println(阵列。的toString(intArray));
//输出:[1、2、3、4、5]
String [] strArray = new String [] { “ John ”,“ Mary ”,“ Bob ” };
系统。出来。的println(阵列。 deepToString(strArray));
* //输出:[约翰,玛丽,鲍勃]
Arrays.deepToString与Arrays.toString不同之处在于,Arrays.deepToString更适合打印多维数组样式
:
String [] [] b = 新的 String [ 3 ] [ 4 ];
对于(int i = 0 ; i < 3 ; i ++)
{
对于(int j = 0 ; j < 4 ; j ++)
{
b [i] [j] = “ A ” + j;
}
}
系统。出来。的println(阵列。的toString(B));
//输出[[Ljava.lang.String; @ 55e6cb2a,[Ljava.lang.String; @ 23245e75,[Ljava.lang.String; @ 28b56559]]
System 。出来。的println(阵列。 deepToString(B));
//输出[[A0,A1,A2,A3],[A0,A1,A2,A3],[A0,A1,A2,A3]]
学习更多Java编程技巧,可加入我的十年Java学习园地。