黑马程序员技术交流社区

标题: 关于toString的用法 [打印本页]

作者: 刘占月    时间: 2012-4-9 23:11
标题: 关于toString的用法
到底什么时候用toString() 什么时候new String()  一直不是很懂。。那位仁兄讲解下。。。
作者: 张卯    时间: 2012-4-9 23:14
toString()是方法啊,从Object天父类天生带的~
new String()是创建String类的实例~
作者: 黑马-刘昌文    时间: 2012-4-9 23:17
new String(),当要把一个字节数组变成字符串的时候可以用该方法,以及其它的一些基本类型变成字符串的时候也可用该方法
toString(),当某个类重写了toString()方法,你想看看这个类的一些基本信息的时候可以用这个方法
作者: 邓海涛    时间: 2012-4-9 23:18
new String()是String类中的一个构造方法,根据参数的不同来把相应类型(字符或字节)的数组转换成字符串
作者: 邓海涛    时间: 2012-4-9 23:19
再补充下:
只要是一个类而且继承自object,那么这个类就会继承Object的toString方法,
那么你需要知道的是 java中 有int型,和Integer类型,也有Double类型和double型
大写的类型是属于对象形式的,那么他可以toString,因为他继承自Object父类,
小写的,只是声明一个变量而已,那么当你使用以下方式初始化一个变量的时候
int num1 = 2;
double num3 = 2.2;

Integer num2 = new Integer(2);
Double num4 = new Double(2.2);

上面你的属于定义一个变量,声明是什么类型,但是下面的属于new一个对象,属于实例化。
所以你使用下面的方式就可以toString()而使用上面的方式就是toString不了的,除非你自己定义一个类型,重写toString方法。
作者: 张玉建    时间: 2012-4-9 23:20
toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。

比如一个Integer对象的toString方法就是把这个对象表示的整数转化成字符串,133就成了"133"。

也有根据实际需要来定toString方法的,比如一个Person类:
class Person {
   String firstName;
   String familyName;
   ...
}
你可以写一个toString方法,它可以把Person的对象转换成familyName字符串,或者转换成firstName + familyName的字符串。



String是一个非常特殊的类型,这个特殊体现在他的每一个实例都是不可修改的。所以无论是显式的给出字符串,还是用new都会产生一个唯一的不可修改的字符串实例。


作者: 戴振良    时间: 2012-4-9 23:25
这是两个完成不同的概念,看来您也是零基础的吧?String是一个类,new String()则是新建一个“String类”的“实例对象”。toString是一个方法,是每个类都有的方法,这个概念要理解好!

作者: 秦岩    时间: 2012-4-9 23:31
toString
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())

返回:
该对象的字符串表示形式。
上楼的已经说了很多了。这是帮助里面的解释,你可以多查查帮助啊,那里面说得很详细。
作者: 袁计艳    时间: 2012-4-10 11:20
简单点吧:
toString()是方法 返回String 类型

new String() 是在内存中创建新的对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2