欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

scala,

来源: javaer 分享于  点击 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

 

 

相关文章

    暂无相关文章

用户点评