
关于java反射机制的问题
我现在有一个类的实例和类里面的属性的fieldName,这个属性是private修饰我想通过反射获得这个类的fieldName属性,然后通过属性获得它的类型然后判断它的类...
我现在有一个类的实例和类里面的属性的fieldName,这个属性是private修饰我想通过反射获得这个类的fieldName属性,然后通过属性获得它的类型然后判断它的类型是否为Integer,用instanceof判断,现在就卡在这一步,我不知道具体代码怎么写package test;import java.lang.reflect.Field;import java.math.BigDecimal;public class test {public static void main(String[] args) throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException, InstantiationException {testOne test = new testOne();BigDecimal s = new BigDecimal(11.111111);test.setS1(s);BigDecimal s2 = get(test, "s1");System.out.println(s2);}public static BigDecimal get(testOne obj,String fieldName) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InstantiationException{Class cls = obj.getClass();Field field = cls.getDeclaredField(fieldName);field.setAccessible(true);//下面这一行代码是错的,我不知道具体怎么写boolean ss = field.getType().getName().getClass() instanceof BigDecimal;System.out.println(ss);Object result = field.get(obj);BigDecimal s = (BigDecimal) result;return s;}}
展开
5个回答
展开全部
这样的,我之前有学过,但是忘记的也差不多了,好像我这有视频,有需要回复
追问
恩,可以啊。我现在下载不了,给个下载链接就行,我回家自己下载,可以吗?
追答
可以啊,不过我要晚上才能给上传你,我现在在外面,我晚上回去告诉你下载地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-10
展开全部
代码没完整,testOne没有
更多追问追答
追问
package test;
import java.math.BigDecimal;
public class testOne {
private BigDecimal s1;
public BigDecimal getS1() {
return s1;
}
public void setS1(BigDecimal s1) {
this.s1 = s1;
}
}
这个比较简单,就一个属性
追答
boolean ss = BigDecimal.class.equals(field.getType());
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
feild.gettype instanceof Big...
这样不行么?
这样不行么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询