重写toString方法的应用领域

关于重写的toString方法可以在哪里应用,学会了重写它,但是自己不知道在哪里运用

3个回答

对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性,
如果你People p = new People();
p.toString();
这么做的话,默认输出就是一个内存地址。
那么你会想到重写ToString();这个方法,按自己的方式去输出。
比如将toString的方法体改为:return p.name+p.age;
这个时候toString输出的东西就是People这个类的姓名和年龄了。

Mestener
Mestener 你这种说法我一下就明白了!谢谢
2 年多之前 回复

修改对象默认返回的内容用

类似这个:http://ask.csdn.net/questions/367983

格式化输出一个对象,它的作用主要是给日志和调试提供更准确的信息。方便程序员输出一个对象,而不需要自己去格式化和调用它的属性字段。
特别是,当对象比较复杂的时候,比如
class Car
{
public Tyre tyres;
public Engine engine;
public Shift shift;

public int MaxSpeed;
public int Color;
...
}
class Tyre
{
public int size;
public int type;
}
class Engine
{
public int MaxPower;
public int CylinderCount;
...
}
public class Shift
{
...
}
对于Car这种类,如果要输出所有属性,每次都自己写,很麻烦,最好的办法是每个对象都有tostring,然后car调用内嵌的几个类的tostring,而每个内嵌类,再调用各自的tostring,就很简单了。

Mestener
Mestener 谢谢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
重写HashMap的toString()方法
写在前面今天本人在写java程序的时候,需要用到HashMap,先将数据加入到HashMap中,然后使用toString()方法,打印出HashMap中存储的所有数据。然而,HashMap原始的toString()方法并不能满足本人输出格式的需要,故本人决定重写HashMap的toString()方法。闲话不多说,直接看代码。
重写toString()方法
一个普通的类,为重写toString函数之前,直接输出该类的对象,结果如下:package blogTest;class Test{ public int age; public double acount; public String string; public void setAge(int age) { this.age = age; }
重写 ToString方法
打印对象时能看到里面的属性值 tristan.User@b1c5fa[name=aa,age=bb,phone=cc] [code="java"] package tristan; import org.apache.commons.lang.builder.ToStringBuilder; public class TestToStringBuilder { public...
关于重写 toString() 方法
 学习Java的人都知道,Java所有类都是object的子类。所以,所有的Java对象都可以调用object类提供的方法。其中,toString()就是其中一个。下面讲解一下为什么会有重写toString()方法一说。   首先,我们先来创建一个Persion类,它只简单的包含 firstname 和 lastname,当然,加上它的setter 和 getter 法。放在com.bean包...
重写toString和equal方法
/**  *  */ package com.bochy.test; /**  * @ClassName: Test10  * @Description: TODO  * @author xlj  * @date 2015-8-27 下午7:52:44  */ public class Test10 {  private String name;  private
toString方法的重写
<p style="font-size:16px;">n 本课程是《零基础学Java》课程的第六阶段课程,课程内容详实、细致,讲解通俗易懂!本课程采用Eclipse4.9版本进行教学。内容包括以下常用JavaAPI的讲解:n</p>n<p style="font-size:16px;">n 1. Object类/Scanner类n</p>n<p style="font-size:16px;">n 2.<span></span>String类/StringBuffer类/StringBuilder类n</p>n<p style="font-size:16px;">n 3.<span></span>数组高级和Arrays类n</p>n<p style="font-size:16px;">n 4.<span></span>基本类型包装类(Integer,Character)n</p>n<p style="font-size:16px;">n 5.<span></span>Math类/Random类/System类n</p>n<p style="font-size:16px;">n 6.<span></span>BigInteger类/BigDecimal类n</p>n<p style="font-size:16px;">n 7.<span></span>Date类/DateFormat类/Calendar类n</p>
重写toString方法-日志
relectionToString()将利用Java Refelection机制显示类实例的所有属性的信息.
toString方法的功能和重写
本课程系统地讲解了Java核心类库和设计,为你的攻城狮之路打下坚实基础。
重写toString和equals方法
重写toString和equals方法的意义以及方法
如何重写ToString()方法??
我想将一个int32型数组,按高到低输出成一个字串,请问是否可以重写ToString()方法??如何实现??
重写equals方法与重写toString方法
重写equals()方法就是提供自定义的相等标准。public class TestEquals { public static void main(String[] args) { //Person类继承Object类,继承下来了父类的方法equals Person p1=new Person(&quot;刘禅&quot;,16); Person p2=new Person(&quot;张宝&quot;,45); //...
利用反射重写toString()方法
为了方便输出对象,Object类提供了toString()方法。但是该方法的默认值是由类名和哈希码组成的,实用性并不强。通常需要重写该方法以提供更多的信息。本实例使用反射输出类的包、类的名字、类的公共构造方法、类的公共域和类的公共方法。在重写不同类的toString()方法时调用该方法就可以避免多次重写toString()方法。实例运行效果如图 编写类StringUtils,在该类中
利用反射重写tostring方法
import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class StringUtils { public String toString(Obj
能不能重写enum的tostring方法?
RT
重写Object类的toString方法
1. 我们在写Java程序的时候有时候需要对某个对象进行操作了之后加入需要查看对象里面的属性的话需要重写Object类的toString方法,但是一般涉及到的是好几个属性,有的属性是没有进行初始化的,那么假如这个使用开发工具来自动生成toString方法的话,那么也会把那些空的属性的值也输出来,但是我们往往需要看不为空的属性这个时候就需要自己去根据具体情况来自己重写一下toString方法了 2...
Java中重写ToString方法
package string;   import java.util.Date;   public class toString { public static void main(String[] args) {   Date date = new Date(); Student stu = new Student(&quot;张三&quot;, 12); TV tv = ne...
为什么要重写toString()方法
toString()方法是Object类里的方法,所有类都继承自Object,因此所有类都拥有toString()方法。 toString public String toString() 返回该对象的字符串表示。通常, toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。返回: 该对象的字符串表示形式。下
Java重写toString()方法的意义
1、重写toString()方法的作用: 其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值 ,这个变量是什么类型的变量等 ,并且任何类都从Object继承了这个方法。 2、不重写toString()方法的输出是什么: 你不重写toString()方法的话输出的就是一个内存地址,也就是哈希码值。并不...
Java重写ToString()方法的意义
“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点人工智能教程可以跳转到教程。 1、为什么要重写ToString? 其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值 ,这个变量...
JavaBean 重写tostring方法的用途
当实体类中,没有重写toString()方法, 用rest 格式调接口,传数据结果的时候,并不会有影响。 情况一:        new一个对象,或者从数据库里查询一个对象,举例子 ,查的是user实体,如果没有tostring方法, System.out.println() 打印的话 ,结果是 com.example.demo.entity.User@817a; 实体类有tostring方...
如何重写类成员的toString()方法
有一自定义类如下:rn[code=C#] public enum callTypern rn callOut,rn callIn,rn callUnAnswerrn rn public class callrn rn public callType CallTypeget;private set;rn public string CallerNameget;set;rn [/code]rnrn如何在输出call.CallType.toString()时输出:"呼出"(即CallType=callOut)rn而不是重写类call的toString()方法
如何重写 System.String的ToString方法
现在情况是这样的rnpublic class myrnrn public string fun1()rn rn string result;rn //.....rn return result;rn rnrnrn我调用的时候这样:rnrnmy aa = new my();rntextBox1.Text = aa.fun1();rnrn由于fun1方法返回的是Unicode编码的字符串,其中可能包含很多怪异的字符,所以我想重写string的ToString()方法,使之能返回一个特定的结果。rnrn例如:rnmy aa = new my();rntextBox1.Text = aa.fun1().ToString();rnrn请问这个该如何写?我真是被搞晕了。rnrnrn后来想想,我建立一个MyString类,继承自System.Stringrn上面函数fun1的返回结果是MyString行的,这样只要在MyString类里面有ToString()方法,应该就能实现我的要求了。rnrn但是MyString类该怎么写呢。rnrn望各位给个框框。谢谢了
java实体类重写toString()方法
实体类一般需要重写toString()方法,在打印日志时输出参数的信息。但是如果手动拼接实体类里每个属性和属性值又比较麻烦,以下是常用的几种方法。 利用Apache工具类ToStringBuilder //方法1 输出对象名称简写 属性 属性值(我常用这种方式) @Override public String toString() {  return ToStringBuilde
异常及重写equals、toString方法
equals方法在object中的equals方法默认的是直接比较两个变量的值,基本类型就是比较表面值,引用类型则比较的是地址值,不能判断两个引用的内容是否一样,这时候就需要我们进行重写/* * 重写object的equals方法,不再比较对象的地址值,而是比较其属性值: * 1,判断地址是否相等//是不是指向同一个引用 * 2,判断类型是否一致,否则即使属性值相同也不可能相等 * 3,判断
重写Java实体类toString方法
利用ReflectionToStringBuilder重写toString方法,让日志可以直接打印对象中的数据,方便跟踪问题。 1、需要引入jar包,添加maven依赖: org.apache.commons commons-lang3 3.1 2、为实体类添加toString方法: public String toString() { return Reflection
Java中重写toString方法
    类 Object 是类层次结构的根(父)类, 每个类(Person,Student...)都使用 Object 作为超(父)类,所有对象(包括数组)都实现这个类的方法,其中tostring方法,默认输出的是类名和内存地址值。 JDK中源码: public String toString() { return getClass().getName() + &quot;@&quot; + Integ...
关于JAVA toString 方法的重写
我是初学者哈 rnpublic class Circle rn double r;rn public Circle(double r)rn rn this.r=r;rn rn public String toString()rn rn double area=r*r*Math.PI;rn return" "+area;rn rnrnrn返回一个值时为什么不能写 return area; 要加上" "+arearnrn???? rn
为什么要重写tostring()方法?
为什么要重写tostring()方法?rn又为什么要重写hashcode()。什么时候重写这些方法
关于int重写的tostring()方法
int类型重写了object的tostring()方法,没有涉及装箱。我想请问重写成怎样了?
重写ToString()
从页面内获取数据后导入数据库,在页面内想实现重写ToString直接将危险字符替换掉,这个ToString应写在什么地方?怎样写?rn
重写toString
自己定义了一个MyDate 的类rnrn还有一个LinkNode 类rnLinkNode rnrn private Object value;rn rnrn public void LinkNode(Object value)rnthis.value=value;rnrnrnrnrnrn在main 中MyDate date=new MyDate();//系统时间rnLinkNode dateNode=new LinkNode(date);rnrn想重写toString 的方法,让输出时间(例如19900909)而不是默认的toString 的方法输出的MyDate@60420frnrn如何改写呢?
Java之重写Object类的toString方法
有任何问题加群讨论,还可以领取精美学习资料噢~ 群号:733899823 加群时请备注CSDN~ 一、先看看重写之前的效果: package com.xiao.toString; /** * @author 笑笑 * @Date 2018年4月14日下午10:16:36 * */ public class Student { private String name; ...
IDEA重写toString方法模板示例
IDEA重写toString方法模板示例 设置 ALT+Insert选择toString,在弹出对话框选setting,然后选择Templates,点击加号新建,然后输入 public java.lang.String toString() { java.lang.StringBuilder bulider = new java.lang.StringBuilder(&amp;quot;$class....
为什么java实体类需要重写toString方法
&amp;#13; 如果没重写toString的情况: Object 类的 toString 方法         返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:                 getClass().getName() + '@' + Intege...
Java零基础-重写Object类的toString方法
Java视频教程中讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。如果您是非计算机专业,想转行做Java开发的朋友,或者您想让Java基础更扎实
Java对象重写toString()方法的意义
一、万类继承Object Java在学到继承的时候,我们会知道,Object会是所有类的顶级类,其他类会隐性的继承Object类,何以见得会继承Object呢?口说无凭,直接看代码。 在上面,我定义了一个类TestObject,在main方法里面创建了这个对象,从左边代码行数可以看出,我这里代码没有超过9行,但调用TestObject实例化对象时,却出现了这么多方法。...
重写Tostring()方法,get,set有关的问题。
using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnrnnamespace QueryComplexObjectrnrn class Customerrn rn public string ID get; set; rn public string City get; set; rn public string Country get; set; rn public string Region get; set; rn public decimal Sales get; set; rn public override string ToString()rn rn return "ID:" + ID+" " + "City:" + City+" " + "Country:" + Country+" " + "Region:" + Region +" "+ "Sales:" + Sales;rn rn rnrnrnrn class Programrn rn static void Main(string[] args)rn rn List customers = new List rn rn new Customer ID = "A", City = "New YorK", Country = "USA", Region = "North USA", Sales = 9999,rn new Customer ID = "B", City = "MMubLik", Country = "India", Region = "Asia",Sales= 8888,rn new Customer ID = "C", City = "sdfasf", Country = "UK", Region = "PPa",Sales= 7777,rn new Customer ID = "D", City = "Mfdg", Country = "Dekl", Region = "Qcia",Sales= 6666,rn new Customer ID = "E", City = "MhjO", Country = "Dkka", Region = "Aivr",Sales= 5555,rn new Customer ID = "F", City = "ghjONO", Country = "Pool", Region = "Sdia",Sales= 4444,rn new Customer ID = "G", City = "cvNO", Country = "Ekkiv", Region = "Parti",Sales= 3333,rn new Customer ID = "H", City = "Palu", Country = "CllKu", Region = "Lric",Sales= 2222,rn new Customer ID = "I", City = "Mosco", Country = "Drro", Region = "Ytile",Sales= 1111,rn new Customer ID = "G", City = "Seml", Country = "Swrit", Region = "Hikru",Sales= 1000,rn new Customer ID = "K", City = "Mdsf", Country = "Adfin", Region = "Sxia",Sales= 2000,rn new Customer ID = "L", City = "istan", Country = "Cink", Region = "Nikal",Sales= 3000,rn new Customer ID = "M", City = "Shanghai", Country = "Asdsd", Region = "Lusia",Sales= 4000,rn new Customer ID = "N", City = "Wuhai", Country = "Gfgf", Region = "Srima",Sales= 5000,rn new Customer ID = "O", City = "Dalian", Country = "Efhj", Region = "Vgen",Sales= 6000,rn new Customer ID = "P", City = "Mexige", Country = "Bddfg", Region = "Waga",Sales= 7000,rn new Customer ID = "Q", City = "LLucy", Country = "Ehjgh", Region = "Ericsi",Sales= 8000,rn new Customer ID = "R", City = "London", Country = "Ffghfg", Region = "Fulli",Sales=9000,rn new Customer ID = "S", City = "Bejing", Country = "Cdsfdf", Region = "Jicci",Sales= 1001,rn new Customer ID = "T", City = "Limas", Country = "IOll", Region = "Malli",Sales= 2000,rnrn ;rn var queryResult = from c in customers where c.Region == "Asia" select c;rn Console.WriteLine("Customers in Asic");rn foreach (Customer cs in queryResult)rn rn Console.WriteLine(cs);rn rn Console.WriteLine("press anykey to go out");rn Console.ReadKey();rnrn rn rnrn首先是那个重写的方法ToString(),我怎么就没见这个方法被显示调用啊?但是知道去掉肯定不行,否则Console.writeLine(cs)就输出全变成了rn“ 命名空间.Customer”这种类型了(测试的),输出函数Console.writeLine是怎么调用ToString()的?另外就是定义的那几个属性,例如rnpublic string ID get; set; ,我把它们变成 成员变量public string ID ,运行程序也是一样的结果。我想问的是在这里使用属性有什么好处。rn谁能深入显出的文字表述下属性那?问的问题有点多,多加点分,希望好心人平和的回答。rn
请问有没有办法重写枚举元素的ToString()方法?
rn如题。
重写toString方法 打印对象为json
1 需要引入alibaba的jar包:&lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson&lt;/artifactId&gt; &lt;version&gt;1.2.4&lt;/version&gt; &lt;/dependency&gt;2 代码示例 注意:写在对应的pojo类中import com.alibaba.fastjson.JSON; import com
java toString()方法以及重写的意义
这篇文章主要讲一下toString()的方法,重写toString方法的意义,自己的一些学习之后的见解。 首先,我们都清楚Object类是所有类的父类,toString()方法是Object类的方法,一下是API中对toString()方法的简单介绍。 要是不重写toString()方法的话,直接打印对象得到的结果是以个字符串,字符串的内容是getClass().getName()+'
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池