今天做东西时,需要获取一个java类的所有属性名和方法名,找了些资料贴出来,希望对大家有帮助~
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
@Test
/**
* 获取一个类的所有属性
*/
public void testPropertiesAndMethods(){
try {
BeanInfo bi = Introspector.getBeanInfo(Book.class);
PropertyDescriptor[] pds = bi.getPropertyDescriptors();
MethodDescriptor[] mds = bi.getMethodDescriptors();
System.out.println("------------propertities-------------");
for (int i = 0; i < pds.length; i++) {
String propName = pds[i].getName();
System.out.println(propName);
}
System.out.println("------------methods-------------");
for (int i = 0; i < mds.length; i++) {
String methodName = mds[i].getName();
System.out.println(methodName);
}
} catch (IntrospectionException e) {
e.printStackTrace();
}
}
class Book{
private String id;
private String name;
private String author;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}