import java.util.Arrays;public class 快速输出数组 { public static void main(String args[]) {int[][] a = {{1,2},{3,4},{22,2}}; System.out.print("排序前的数组为:"); System.out.println(Arrays.toString(a)); }}输出结果是:排序前的数组为:[[I@659e0bfd, [I@2a139a55, [I@15db9742]为什么输出的是这东西呢,谢谢
2 回答
Stypstive
TA贡献3条经验 获得超0个赞
Arrays.toString(a)是调用了a的toString方法进行了打印输出. 由于a没有重写toString()方法,所以调用了它的父类Object的的toString方法.所以输出的是 数据类型@hashcode的形式,就是你看到的输出结果.
注意:原始数据类型,和数组都是继承Object的. 至于[[I,,代表是一个int型的二维数组类型. 至于其他的基本数据类型,你可以通过 变量名.getClass().getName()得到. 具体参见Java API Class类的getName方法说明,其中原始数据类型与Object的关系进行了较为详细的说明.
boolean Z
byte B
char C
class or interface Lclassname;
double D
float F
int I
long J
short S
以上是对应的标示.
例如你定义一个 long longData[][] = {{1,2,},{1,2}} , 那么longData.getClass().getName() 将return [[J .
希望以上回答能对楼主有所帮助!
添加回答
举报
0/150
提交
取消