标签:java 操作 set 使用 row intro lis void ram
断点:
快捷键:
f5:step into
f6:step over
f7:step return
drop to frame;跳到当前方法的第一行
resume:跳到下一个断点
断点应注意到问题
1,断点调试完成后,要在breakpoints视图中清除所有断点
2,断点调试完成后,一定记得结束运行断点的jvm
可变参数
public static <T> List<T>asList(T... a)
枚举
枚举中的抽象方法需要实现
enum Grade{ //相当于class
A(" "),B(" "),C(" "),D(" "); //相当于Object
private String value;
private Grade(String value){
this.value =value;
}
**内省**:
Person类:
public class Person2 {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import org.junit.Test;
//使用内省api操作bean属性
public class introspector {
//得到Person中所有属性
@Test
public void test() throws Exception {
BeanInfo info = Introspector.getBeanInfo(Person2.class);
PropertyDescriptor[] pds = info.getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
System.out.println(pd.getName());
}
}
//操作bean的指定属性:age
@Test
public void test1() throws Exception{
Person2 p=new Person2();
PropertyDescriptor pd=new PropertyDescriptor("age",Person2.class);
//得到属性的写方法,为属性值
Method method=pd.getWriteMethod();//public void setName(String name)
method.invoke(p, 45);
//System.out.println(p.getAge());
//获取属性的值
method=pd.getReadMethod();// public int getAge()
System.out.println(method.invoke(p, null));
}
@Test
//获取当前操作的属性类型
public void test3() throws Exception{
Person2 p=new Person2();
PropertyDescriptor pd=new PropertyDescriptor("age",Person2.class);
System.out.println(pd.getPropertyType());
}
}
标签:java 操作 set 使用 row intro lis void ram
原文地址:http://www.cnblogs.com/free20019/p/7637056.html