Java反射:获取字段的类

Java反射:获取字段的类,java,reflection,Java,Reflection,我有一个方法,它需要像Double.class这样的东西作为它的输入之一 e、 g 我有另一个类,它有一组不同数据类型的字段,我希望将这些字段作为输入提供给这个方法,而不是显式地编写Integer.class的Double.class等 我知道这涉及到java反射,但我不太确定如何实现我想要的。我正在尝试类似的方法,但不起作用: for(Field field : Class.forName(MyClassWithLotsOfFields.class.getCanonicalName()).ge

我有一个方法,它需要像
Double.class
这样的东西作为它的输入之一

e、 g

我有另一个类,它有一组不同数据类型的字段,我希望将这些字段作为输入提供给这个方法,而不是显式地编写
Integer.class的
Double.class

我知道这涉及到java反射,但我不太确定如何实现我想要的。我正在尝试类似的方法,但不起作用:

for(Field field : Class.forName(MyClassWithLotsOfFields.class.getCanonicalName()).getFields()){ 
   someOutput = SomeObj.someMethod("parameter",field.getClass());
  //Do more stuff here...
}   
但是
field.getClass()
并没有给我
MyClassWithLotsOfFields
中字段的实际类,而是
java.lang.reflect.field

有什么办法可以做我想做的吗?

你需要

返回一个
对象,该对象标识字段的声明类型 由该
字段
对象表示


getClass()
是从
Object
继承的一种方法,它返回对象本身的类型。

通过执行
Class.forName(MyClassWithLotsofields.Class.getCanonicalName())
而不仅仅是
MyClassWithLotsofields.Class
,您试图实现什么?我不是下一个投票人,但我怀疑他们可能一直在想,你可以通过阅读javadoc for
字段
得到答案,你已经知道了。
for(Field field : Class.forName(MyClassWithLotsOfFields.class.getCanonicalName()).getFields()){ 
   someOutput = SomeObj.someMethod("parameter",field.getClass());
  //Do more stuff here...
}