`
endual
  • 浏览: 3557793 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

toString始终要覆盖掉

    博客分类:
  • java
 
阅读更多

package endual.test;

import java.io.Serializable;
//始终要覆盖的是toString的方法,这个有利于程序员进行查看
//Object类里面的toString方法是返回的是String类型的值,调研的是本地方法,用int类型的静态方法进行的运行
//而实例对象被放入到打印等jre默认的一些打印的方法的时候会调研到父类的toString方法,自动调用的
//所以我们在进程创建对象的时候,最好是覆盖掉toString方法,这样有利于我们以后在查看这个类实例的时候
//查到这个类的作用以及一些调试的信息
public class People implements Serializable, Comparable<People> {

    private int id; //虚拟机在类加载的时候将默认的值0赋值给了int类型
    private String name; //而String类型的则没有做任何的初始化操作,所有并没有值赋值给String设置的时候为null
   
    private int age;

    public int getId() {
        return id;
    }

    @Override
    public String toString() {
        //String name = "xxx" ;
        return id + "@" + name +"@"+ age;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public int compareTo(People o) {
        // TODO Auto-generated method stub
        return 0;
    }

}

 

 

-----------------------------------------------------------------------

package endual.test;

public class MainTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        People peo = new People() ;
       
       
        System.out.println(peo);
       
       
    }

}

 

 

==========================================

在实际的应用中,toString方法应该返回的对象中包含的所有值得关注的信息,例如上述people的个人信息

。如果对象太大,或者对象中包含的状态信息难以用字符串来表达。这样做的有点不切实际,在这种情况下,toString方法应该唤回的是一个简要的摘要信息。

 

 

分享到:
评论

相关推荐

    万能的toString

    1. **覆盖toString()** 当你创建一个自定义类时,如果希望打印出类实例的属性值,需要在类中重写`toString()`。通常,这会涉及到遍历所有实例变量,并将它们的值转换成字符串,然后用逗号分隔。例如: ```java ...

    JavaScript Object toString 初始补充

    这可能是一个详细的代码示例,解释如何使用`radix`来格式化数字字符串,或者展示了在自定义对象中正确覆盖`toString`方法的最佳实践。 总的来说,通过深入理解并熟练运用`toString`方法,开发者可以更好地控制和...

    Tostring的多态

    对于自定义类型,这可能不是很有用,所以通常建议在自定义类型中覆盖`ToString()`。 3. **格式化输出** `ToString()`方法还可以接受一个格式字符串参数,允许你控制输出的格式。例如,`DateTime`类型的`ToString()...

    toStringGen:这是一个想法插件,此插件提供了toString方法,该方法返回json格式的实体的字符串

    generate a toString() with a json format select single or multiple java class file, click toString via rightKey, ... 如果toString()方法已存在,则直接覆盖 by qq963577663 wangjinwen 2018-06-17

    JavaScript中toString()方法的使用详解

    这可以通过在自定义对象中定义一个覆盖默认toString()方法的新方法来实现。 接下来,我们通过一段示例代码来进一步说明toString()方法的使用: ```javascript function Book(title, publisher, price) { this....

    在C#的类或结构中重写ToString方法的用法简介

    在重写`ToString()`方法时,你需要使用`override`关键字来指定你是在覆盖基类的方法,并且返回类型必须是`string`。下面是如何在`Person`类中重写`ToString()`的示例: ```csharp public class Person { public ...

    写一个类Student,包含三个属性学号id,姓名name和年龄age;要求覆盖基类Object中的ToString()方法和Equals()方法,使得直接输出Student对象时输出的是对象的id,name和age信息;并且当两个对象的学号相同时认为它们相等;

    要求覆盖基类Object中的ToString()方法和Equals()方法,使得直接输出Student对象时输出的是对象的id,name和age信息;并且当两个对象的学号相同时认为它们相等; 然后写一个主方法测试以上定义。

    JavaScript函数中关于valueOf和toString的理解

    这两种方法都是利用了JavaScript的动态类型特性和`valueOf`与`toString`的覆盖特性,实现了高阶函数的连续调用,并在需要的时候提供计算结果。 在上面的例子中,`temp.valueOf`和`temp.toString`被赋值为同一个函数...

    Java语言中的 覆盖重载和多态

    例如,`Object`类中的`toString()`和`equals()`方法经常被子类覆盖来提供定制的行为。同时,`equals()`和`==`的区别在于,未覆盖`equals()`时,它们比较的是对象的引用,而覆盖后,通常比较的是对象的内容。 **重载...

    javascript中强制执行toString()具体实现

    为了控制和强制执行`toString()`方法,从而避免这些错误,我们可以覆盖对象原型中的`valueOf`方法。这样,当JavaScript引擎尝试将对象转换为基本类型值以执行运算时,会按照我们定义的逻辑来执行。 默认情况下,`...

    Javascript中valueOf与toString区别浅析

    在JavaScript中,`valueOf`和`toString`是两个非常重要的内置方法,它们分别用于将对象转换为原始值和字符串。...在自定义对象时,如果需要覆盖默认的行为,务必了解并遵循这些调用规则,以确保代码的正确性和一致性。

    node-cleanse:递归删除对象上的保留键,如 hasOwnProperty、toString 等

    洁净递归删除对象上的保留键,如 hasOwnProperty、toString 等安装 npm install... 但是,因为toString被覆盖为字符串,所以现在调用toString是错误的,因为它不再可调用。 运行此代码会导致: TypeError: Cannot conve

    js代码-Object.prototype.toString

    在某些情况下,开发者可能会覆盖`toString`方法以提供自定义的字符串表示。 总的来说,`Object.prototype.toString`是JavaScript中一个强大且灵活的方法,它在处理类型检测、对象表示以及自定义输出方面都有广泛的...

    13.java学习第十三章——方法覆盖和多态.pdf

    ### Java学习第十三章——方法覆盖和多态 #### 一、方法覆盖(重写 —— Override) **1.1 回顾方法重载** 在Java中,**方法重载**(Overloading)指的是在一个类中定义多个同名方法,但这些方法的参数列表必须有所...

    浅谈javaSE 面向对象(Object类toString)

    然而,对于大多数实际用途,这种默认的表示往往不够具体,因此我们常常需要在子类中覆盖`toString()`方法,以提供更有意义的信息,比如对象属性的值。 `hashCode()`方法是另一个重要的`Object`类方法。它返回对象的...

    ArcGIS-Engine拓扑规则转换为中文-C#代码.doc

    第一个图层线要素应被第二个线图层线要素覆盖.ToString()`。 除了线要素的规则外,还有针对面要素的规则: 1. **面要素之间无空隙 (esriTRTAreaNoGaps)**:此规则确保相邻的面之间无缝隙,即面的边界应当连续。...

    hudson覆盖率如何配置

    1. 要配置的包名前后可以加上 `**`,例如 `**.bean.**`,表示无论有多少层包,只要包含 "bean",都将被纳入统计。 2. 对于一个特定的包,通常需要创建两个规则,如 `**.bean.`, `**.bean*.**`,分别匹配包含 "bean...

    枚举(switch、覆盖枚举、实现接口等)

    枚举中的方法可以被覆盖,比如覆盖`toString()`方法。在`Color`枚举中,`toString()`被重写为返回`index_name`格式的字符串,增强了信息的表示。 5. 实现接口: 虽然Java不支持多重继承,但枚举可以实现接口。`...

    xcode-maven-plugin-1.4.1.zip

    【描述】"labeled-tostring.zip" 提及的是一个Scala编程语言中的特性,即覆盖默认的`toString`方法以显示参数标签。在Scala中,`toString`方法通常用于返回对象的字符串表示。当覆盖此方法时,我们可以自定义其输出...

    wpf地震体浏览工具(源码)

    segybinaryheader.AddInfo("27-28", (segyBinaryHeader.fold).ToString(), "CMP覆盖次数"); segybinaryheader.AddInfo("29-30", (segyBinaryHeader.tsort).ToString(), "道分选码"); segybinaryheader.AddInfo(...

Global site tag (gtag.js) - Google Analytics