在一个java项目里,没有加上log日志。在读代码的时候不知道对象的具体值,很不方便。
比如一个对象user,我想知道它的值,不得不加上
log.debug(user.getUsername());
log.debug(user.getPassword());
如果一个对象属性很多,那就很麻烦。
如果一个对象里包含的还有对象,更麻烦了。。
想问问高手,不知道有没有什么办法简单方便地输出程序里的对象的值啊??
类似于这样log.debug(user)的方式?
[b]问题补充:[/b]
有没有能说具体一点的?
[b]问题补充:[/b]
问题的重点是
1.对象里包含的又有多个对象,而不单单是属性(属性就好办了^_^);
2.如果对某个类添加一个toString()方法,那么我要查看很多个对象时,岂不是每个类都得添加toString()方法,那也很累啊。
有没有更好的办法啊?
1.被包含的对象也实现toString就都可以用.
2.如果你对象这么多..而且每个都需要的话..那还是用反射来做吧.
写一个通用的反射类,让所有你的类都继承这个类,然后就可以调用了.
不过我觉得这个需求不是很现实..为什么要把所有的类都输出呢...
[url]http://tomlee.blog.ccidnet.com/blog-htm-itemid-363596-uid-40080-do-showone-type-blog.html[/url]
使用反射 搞定!
发现我竟然是个初级程序员 汗
不需要用反射吧.实现toString方法就可以了.定义了对象的toString方法,覆盖默认的从object继承的toString方法,你在输出的时候就会调用你自定义的toString方法.
[code="java"] String n;
String p;
public User(String n, String p) {
this.n = n;
this.p = p;
}
public String toString(){
return n+p;
}
public static void main(String [] args){
System.out.println(new User("sss","ggg"));
}[/code]