admin 管理员组文章数量: 1087139
2024年4月18日发(作者:hidefocus true)
java toString()用法
2007-06-13 21:14
1.toString()方法
Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个
String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,
需要覆盖这个方法。
toString()方法将对象转换为字符串。看以下代码:
package sample;
class Villain {
private String name;
protected void set(String nm) {
name = nm;
}
public Villain(String name) {
= name;
}
public String toString() {
return "I'm a Villain and my name is " + name;
}
}
public class Orc extends Villain {
private int orcNumber;
public Orc(String name, int orcNumber) {
super(name);
ber = orcNumber;
}
public void change(String name, int orcNumber) {
set(name);
ber = orcNumber;
}
public String toString() {
return "Orc" + orcNumber + ":" + ng();
}
public static void main(String[] args) {
Orc orc = new Orc("Limburger", 12);
n(orc);
("Bob", 19);
n(orc);
}
}
结果:
@11b86e7
@11b86e7
如果去掉注释,即加入2个toString()方法后,得到
结果:
Orc12:I'm a Villain and my name is Limburger
Orc19:I'm a Villain and my name is Bob
2.在容器类中使用toString()
编写一个工具类,用于在控制台输出Iterator。
import or;
public class Printer {
static void printAll(Iterator e){
while(t()){
n(());
}
}
}
在Hamster类中重写父类的toString()方法。
public class Hamster {
private int hamsterNumber;
public Hamster(int hamsterNumber){
rNumber=hamsterNumber;
}
public String toString(){
return "This is Hamster #"+hamsterNumber;
}
}
在HamsterMaze类中使用容器类加载Hamster类对象并输出结果。
import ist;
import ;
public class HamsterMaze {
@SuppressWarnings("unchecked")
public static void main(String[] args){
List list=new ArrayList();
for(int i=0;i<3;i++)
(new Hamster(i));
ll(or());
}
}
结果:
This is Hamster #0
This is Hamster #1
This is Hamster #2
3.一个实现toString()的通用的Bean
在作一个项目时发现,许多bean需要实现toString()方法,就实现一个通用的bean,然后通
过其他继承即可。
import ;
public class BaseBean {
public String toString() {
StringBuffer sb = new StringBuffer();
try {
Class t = ss();
Field[] fields = laredFields();
for (int i = 0; i < ; i++) {
Field field = fields[i];
essible(true);
("{");
(e());
(":");
if (e() == ) {
((this));
} else if (e() == ) {
(g(this));
} else if (e() == ) {
(lean(this));
} else if (e() == ) {
(r(this));
} else if (e() == ) {
(ble(this));
} else if (e() == ) {
(at(this));
} else
((this));
("}");
}
} catch (Exception e) {
tackTrace();
}
return ng();
}
}
测试类
public class TestBean extends BaseBean {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
= id;
}
public static void main(String[] args) {
TestBean testBean = new TestBean();
(9);
n(ng());
}
}
结果
{id:9}
版权声明:本文标题:java toString()用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713396521a632520.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论