美文网首页
重写java中的toString()方法

重写java中的toString()方法

作者: SeekerLinJunYu | 来源:发表于2019-03-07 22:07 被阅读0次

    a.java中的toString()方法用于描述对象本身.每个一个对象,系统都默认自带toString方法,如果想要将对象输出为自己想要的更加规范的格式,则需要重写方法.
    b.对于一些比较简单的输出格式,往往可以直接使用string.format()完成格式输出.如:

    @Override
        public String toString() {
            return String.format("学生的名字叫做:%s,今年%d岁了", name,age);
        }
    输出示例为: 学生的名字叫做:xixi,今年25岁了.
    

    c. 对于一些较为复杂的输出格式,往往需要用到StringBuilder类.StringBuilder的对象是一串可变的字符;从文档了解到:(The principal operations on a StringBuilder are the append and insert methods, which are overloaded so as to accept data of any type.)其主要的用法是append和insert,这两种方法可以接收任何类型的数据.(Each effectively converts a given datum to a string and then appends or inserts the characters of that string to the string builder. The append method always adds these characters at the end of the builder; the insert method adds the characters at a specified point. )每一种方法都能将给定的数据转换成字符然后添加append在builder字符串的最后或者insert进指定的位置.其中最后一行代码res.toString()的toString()方法的作用在于返回一个代表目标对象的字符串.
    实现代码例如:

        @Override
        public String toString() {
            StringBuilder res = new StringBuilder();
            res.append(String.format("Array:size =%d,capacity = %d\n",size,data.length));
            res.append('[');
            for(int i = 0;i<size;i++) {
                res.append(data[i]);
                if(i != size - 1) {
                    res.append(",");
                }
            }
            res.append(']');
            return res.toString();
        }
    其对象输出为:Stack:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],看似与format功能相同,但是实则通过append等方法,StringBuilder比String.format() 更加灵活,适用面更广泛.
    

    相关文章

      网友评论

          本文标题:重写java中的toString()方法

          本文链接:https://www.haomeiwen.com/subject/jhohpqtx.html