第十一章 Arrays.toString( ... )产生数组的可打印表示

 

 

打印容器无需任何帮助,直接打印容器对象即可获得容器内可视数据,但是对于数组,直接打印数组对象,最终是调用toString方法,打印出的只是:

     * @return  a string representation of the object.
     */
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

类名@HashCode。

package 持有对象.迭代器;

import java.util.Arrays;

public class Test {

    public static void main(String[] args) {

        int[] i = {1,2,3};
        String[][] s = {{"1","2"},{"2"}};
        
        System.out.println(i);
        System.out.println(s);

    }

}

输出结果:

[I@7852e922
[[Ljava.lang.String;@4e25154f

其中【代表数组的维度, L 代表其为引用类型的数组,引用类型的数组有自己class的名称。I 代表其为基本类型的数组,基本类型的数组会带有其自己的标识,如int类型的标识为I,double类型的为D。

 

可以通过Arrays.toString( ... )方法打印出数组的可视数据

package 持有对象.迭代器;

import java.util.Arrays;

public class Test {

    public static void main(String[] args) {

        int[] i = {1,2,3};
        String[][] s = {{"1","2"},{"2"}};
        
        System.out.println(i);
        System.out.println(s);
        
        System.out.println(Arrays.toString(i));
        System.out.println(Arrays.toString(s));
        System.out.println(Arrays.toString(s[0]));
    }

}

输出结果:

[I@7852e922
[[Ljava.lang.String;@4e25154f
[1, 2, 3]
[[Ljava.lang.String;@70dea4e, [Ljava.lang.String;@5c647e05]
[1, 2]

 

posted @ 2018-06-22 14:59  刘呆哗  阅读(247)  评论(0编辑  收藏  举报