Object类是所有对象类的父类,而toString方法只能把那些可以转换为字符串的类型对象转换为字符串,否则转换后还是一个对象。
例如:
“woshizifuchuan”是一个String类型的对象,“woshizifuchuan”.toString();结果还是“woshizifuchuan”;
Org是一个组织的对象,如果Org.toString();结果是不正常的,因为Org对象中可能有多个属性,如组织名称,组织等,这个toString后无法知道具体的是那个属性转换为字符串,所以就不会正常显示。
备注:所有的java开发都是有一定原则的,不是说不报错就一切运行ok,要根据实际情况进行类型转换。
你先看一下Object类中的toString()方法源码:
public String toString() {
return getClass().getName() +"@"+Integer.toHexString(hashCode()); //打印类的全命名+内存地址
}
假如你的类复写了Object类(此类为Java根基类)中的toString()方法;
例如:
public String toString(){
return "name:" + this.name+ ", pwd:"+this.pwd;
//这里才是你要返回的值 如果没复写则调用Object类中的toString()方法,所以具体输出形式自己定
}
还可以在项目中引入fastjson.jar包,将对象转为字符串很简单的。
调用JSON.toJSONString(Org)转为json字符串。