如何将一个未知的java bean 的各项属性或字段打印出来? 我发现在做和java bean相关联的开发中取得各项属性的值很繁琐,所以想用循环自动取得,不知道该如何去做。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.lang.reflect.Field;public class TestBean{ private String name; private int age; private boolean merrage; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isMerrage() { return merrage; } public void setMerrage(boolean merrage) { this.merrage = merrage; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static void main(String[] args) { TestBean tb=new TestBean(); Field[] fs=tb.getClass().getDeclaredFields(); for(int i=0;i<fs.length;i++) System.out.println(fs[i].getName()); }} 参考http://www.crackj2ee.com/code/ShowArticle.asp?ArticleID=632 取到属性的名字后,有getReadMethod方法可以取到属性的值,就是调用属性的get方法。前提是你的class必须符合javaBean的标准 使用 org.apache.commons.lang 包 网上有下,或 我的qq群:20053074 向我要。使用方法是:import org.apache.commons.lang.builder.ToStringBuilder;import org.apache.commons.lang.builder.ToStringStyle;/** * @author xiaofei.liu * @createDate 2006-9-1 */public class Entity implements java.io.Serializable { public String toString(){ String str = ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE); return str.substring(str.indexOf("[")); } public String getClassName(){ String str = this.getClass().getName(); return str.substring(str.lastIndexOf(".")+1); }}public class College extends Entity implements java.io.Serializable { private Integer id ; //学校ID private String name ; //学校名字 private String passw ; //登陆密码 private String extensionNumber ;//短信长号码。 } import java.beans.IntrospectionException;import java.lang.reflect.InvocationTargetException;public class TestBean{ private String name; private int age; private boolean merrage; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isMerrage() { return merrage; } public void setMerrage(boolean merrage) { this.merrage = merrage; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static void main(String[] args) throws IntrospectionException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { TestBean tb=new TestBean(); tb.setName("huangfeihong"); tb.setAge(70); tb.setMerrage(false); java.beans.BeanInfo bi=java.beans.Introspector.getBeanInfo(tb.getClass()); java.beans.PropertyDescriptor[] pds=bi.getPropertyDescriptors(); for(int i=0;i<pds.length;i++) { System.out.println(pds[i].getName()+" : "+pds[i].getReadMethod().invoke(tb, new Object[]{})); } }} BeanInfo????没用过不过还是要谢谢你imA :) applet与数据库的交互,设置java.policy的问题 我用FileUpload上传文件,在Tomcat中可以使用,可是到了weblogic就不能用了 求一java 电子表的程序 用JAVA对一组汉字英文数字混合的数据排序,如何实现? GPS精确定位智力题!!!!! 打包问题! Java代码模拟淘宝登录 始终登录不成功 安装设置Java环境 一个关于键盘输入的问题请教各位! 我在一个文件里做了一个类,怎么在另外一个文件里调用这个类。 (与初学者分享,高手都会,但高手不一定与初学者分享源码)解决java压缩,解压中文目录、文件名问题。 求教:new String与toString()
{
private String name;
private int age;
private boolean merrage;
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public boolean isMerrage()
{
return merrage;
}
public void setMerrage(boolean merrage)
{
this.merrage = merrage;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public static void main(String[] args)
{
TestBean tb=new TestBean();
Field[] fs=tb.getClass().getDeclaredFields();
for(int i=0;i<fs.length;i++)
System.out.println(fs[i].getName());
}
}
http://www.crackj2ee.com/code/ShowArticle.asp?ArticleID=632
使用方法是:import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
* @author xiaofei.liu
* @createDate 2006-9-1
*/
public class Entity implements java.io.Serializable {
public String toString(){
String str = ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
return str.substring(str.indexOf("[")); }
public String getClassName(){
String str = this.getClass().getName();
return str.substring(str.lastIndexOf(".")+1);
}
}public class College extends Entity implements java.io.Serializable { private Integer id ; //学校ID
private String name ; //学校名字
private String passw ; //登陆密码
private String extensionNumber ;//短信长号码
。
}
import java.lang.reflect.InvocationTargetException;public class TestBean
{
private String name;
private int age;
private boolean merrage;
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public boolean isMerrage()
{
return merrage;
}
public void setMerrage(boolean merrage)
{
this.merrage = merrage;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public static void main(String[] args) throws IntrospectionException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
TestBean tb=new TestBean();
tb.setName("huangfeihong");
tb.setAge(70);
tb.setMerrage(false);
java.beans.BeanInfo bi=java.beans.Introspector.getBeanInfo(tb.getClass());
java.beans.PropertyDescriptor[] pds=bi.getPropertyDescriptors();
for(int i=0;i<pds.length;i++)
{
System.out.println(pds[i].getName()+" : "+pds[i].getReadMethod().invoke(tb, new Object[]{}));
}
}
}
不过还是要谢谢你imA :)