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

浅解Java中toString函数,javatostring函数

来源: javaer 分享于  点击 37702 次 点评:43

浅解Java中toString函数,javatostring函数


String toString():返回该对象的字符串表示。

当程序使用System.out.println()方法输出一个对象,或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString()方法返回该对象的字符串表示。

该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。

Object类的toString()方法返回“运行时类名@十六进制hashCode值”格式的字符串。因此很多类都重写了Object类的toString方法,用于返回可以表述该对象信息的字符串。

package notebook;

class Value {
 private int i;

 public void set(int i) {
   this.i = i;
  }
 public int get() {
    return i;
  }
// public String toString(){
//  return "hello"+i;
//                       //此函数必须要有 字符返回类型
// }
}
public class NoteBook {
 public static void main(String[] args) {

  Value[] a = new Value[10];                   //创建对象数组a
  for( int i=0; i<a.length; i++){
   a[i] = new Value();                      //创建每一个对象,因为数组的每一个元素只是对象的管理者而非对象本身,
   a[i].set(i);                             //初始化创建的每一个对象
  }
  for( Value v : a ){    //用for-each循环来输出对象数组
   //变量v和a共同管理数组
   System.out.println(v);  //*****<<<-----------------
  }

  System.out.println("--------------------");

  for( Value v : a ){    //用for-each循环输出重置后的对象数组a
   System.out.println(v.get());  //*****<<<-----------
  }
 }
}

如果没有重写toString()函数,那一部分运行结果见下:

重写toString函数,用于表述对象信息,运行结果见下:

package notebook;

class Value {
 private int i;

 public void set(int i) {
   this.i = i;
  }
 public int get() {
    return i;
  }
 	public String toString(){
 	return "hello"+i;  //此函数必须要有 字符返回类型
 }
}
public class NoteBook {
 public static void main(String[] args) {

  Value[] a = new Value[10];                   //创建对象数组a
  for( int i=0; i<a.length; i++){
   a[i] = new Value();                      //创建每一个对象,因为数组的每一个元素只是对象的管理者而非对象本身,
   a[i].set(i);                             //初始化创建的每一个对象
  }
  for( Value v : a ){    //用for-each循环来输出对象数组
   //变量v和a共同管理数组
   System.out.println(v);  //*****<<<-----------------
  }

  System.out.println("--------------------");

  for( Value v : a ){    //用for-each循环输出重置后的对象数组a
   System.out.println(v.get());  //*****<<<-----------
  }
 }
}


System.out.println(v);
System.out.println(v.toString());

如上代码,两条代码的执行结果其实是一样的。

重写Object类中toString()方法,改变toString()方法的返回值return语句,然后直接打印对象名,便可以得到想要的结果。

相关文章

    暂无相关文章

用户点评