zoukankan      html  css  js  c++  java
  • 第十一章 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]

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    三道趣味题目
    iOS开发中使用静态库 .a 文件
    java Graphics2D 画图
    堆和栈的区别
    iOS开发中KVC、KVO简介
    GPUImage的简单使用
    OC中 self.view.frame.size.height = 100; 不能通过编译的原因
    Xcode7 低版本iOS系统上下有黑边的问题
    c语言数组赋值
    ELF interpreter /libexec/ld-elf32.so.1 not found
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/9213488.html
Copyright © 2011-2022 走看看