13.3.4 字符串转换和toString( ) 当Java在连接时将数据转换为其字符串形式时,它是通过调用一个由字符串(String)定义的字符串转换方法valueOf( )的重载来完成的。valueOf( )方法对所有简单的类型和类型Object重载。对于简单类型,valueOf( )方法返回一个字符串,该字符串包含了相应其被调用的值的可读值。对于对象,valueOf( )方法调用toString( )方法。在本章后面我们将更仔细地分析valueOf( )方法。这里让我们讨论toString( )方法,因为通过它可以确定所创建类的对象的字符串形式。每一个类都执行toString( )方法,因为它是由Object定义的。然而toString( )方法的默认实现是不够的。对于所创建的大多数类,通常想用你自己提供的字符串表达式重载toString( )方法。幸运的是这很容易做到。toString( )方法具有如下的一般形式: String toString( ) 实现toString( )方法,仅仅返回一个String对象,该对象包含描述类中对象的可读的字符串。通过对所创建类的toString( )方法的覆盖,允许将得到的字符串完全集成到Java的程序设计环境中。例如它们可以被用于print( )和println( )语句以及连接表达式中。下面的程序中用Box类重载toString( )方法说明了这些。 // Override toString() for Box class. class Box { 244 第2 部分 Java 库 double width; double height; double depth; Box(double w, double h, double d) { width = w; height = h; depth = d; } public String toString() { return "Dimensions are " + width + " by " + depth + " by " + height + "."; } } class toStringDemo { public static void main(String args[]) { Box b = new Box(10, 12, 14); String s = "Box b: " + b; // concatenate Box object System.out.println(b); // convert Box to string System.out.println(s); } } 该程序的输出如下所示: Dimensions are 10.0 by 14.0 by 12.0 Box b: Dimensions are 10.0 by 14.0 by 12.0 正如你能看到的那样,当Box对象在连接表达式中使用或出现在调用println( )中时,Box的toString( )方法被自动调用。
<<上一页
1
2
3
4
5
6
7
8
9
10
11
12
下一页>>
|