scala,
分享于 点击 45814 次 点评:111
scala,
1、scala中的toString和java中的toSting 一样------所有的对象都有這个方法,因为toString 是 java中object的方法,而全部的类都是继承于Object这个类
2、java中的toString是
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
所以toString方法默认得到类型名字+hashCode如果要不同的结果,那么就应该 override 这个方法
3、toString 方法一定是返回的是String类型
class legotime{
def toString1 = getClass().getName() + "@" + Integer.toHexString(hashCode());
def class_name = getClass().getName()
def hash_code0 = hashCode();
def hex0 = Integer.toHexString(hashCode());
}
object Test {
def main(args: Array[String]) {
val lego = new legotime()
println("lego : " + lego);
println("lego.toString : " + lego.toString);
println("lego.toString1 : " + lego.toString1);
println("lego.getClass.getName(): " + lego.class_name );
println("lego.hashCode() : "+lego.hash_code0);
println("lego.hashCode_hex : " + lego.hex0);
}
}
//运行结果
lego : legotime@e9e54c2
lego.toString : legotime@e9e54c2
lego.toString1 : legotime@e9e54c2
lego.getClass.getName(): legotime
lego.hashCode() : 245257410
lego.hashCode_hex : e9e54c2
4、toString是所有类都固有的方法,可以重写
class legotime{
def toString1 = getClass().getName() + "@" + Integer.toHexString(hashCode());
override def toString = "this is toString method";
}
object Test {
def main(args: Array[String]) {
val lego = new legotime()
println("lego : " + lego);
println("lego.toString : " + lego.toString);
println("lego.toString1 : " + lego.toString1);
}
}
// 运行结果
lego : this is toString method
lego.toString : this is toString method
lego.toString1 : legotime@e9e54c2
相关文章
- 暂无相关文章
用户点评