本帖最后由 张向辉 于 2013-1-31 22:11 编辑
这是我写的一个有私有字段x的类:
package it.cast.neixing;
public class zhouchang {
private int x ;
public int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public zhouchang(int x, int y) {
super();
this.x = x;
this.y = y;
}
}
我又写了一个类 使用内省方法读取里面私有的属性:
上面这些包已经导入 没有包的异常,我就不写包导入了。
public class readdemo{
public static void main(String[] args) throws Exception{
zhouchang zc = new zhouchang(1,9);
String PropertyName ="x";
//PropertyDescriptor属性描述器
PropertyDescriptor prop = new PropertyDescriptor(PropertyName,zc.getClass());
Method method = prop.getReadMethod();
String ReValue = (String) method.invoke(zc);
System.out.println(ReValue);
}
}
结果发生了错误:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at it.cast.neixing.neixingdemo.main(neixingdemo.java:31)
它说是转换异常 。。想很久没想出来。。问问大家 这为什么是类转换异常 可是视频的代码 和我一样 为什么能运行。。、?? 帮忙解决下 谢谢了!
|
|