所以这就是我想要做的。在课程开始时,班级会查看该班级中的所有字段。如果该字段是特定类型的对象,则将其添加到列表中。某些对象的列表可以稍后调用,并进行修改。将对象投射到另一个特定的对象,然后修改它
SORRY,忘了发布实际的错误。当我尝试到类强制转换为类型值,我得到这个错误:
Cannot cast from Class<capture#8-of ?> to Value<?>
这里的主要部分:
private List<Value> values = new ArrayList<Value>();
for (Field f : getClass().getDeclaredFields()) {
if (f == null)
continue;
Class<?> clazz = f.getType();
if (clazz.isAssignableFrom(Value.class)) {
Value<?> value = (Value) clazz;
values.add(value);
}
}
这里的价值类:
public class Value<E> {
private String name;
private E value;
public Value(final String name, final E value) {
this.name = name;
this.value = value;
}
public final String getValueName() {
return name;
}
public final E getValue() {
return value;
}
public final void setValue(final E newValue) {
value = newValue;
}
有任何方式来做到这一点?
什么问题? –
@OliverCharlesworth对不起,编辑OP。 –
'列表值'...为什么要使用原始的'Value'?故意?什么是'list'这里'list.add(value);'?与'values'不同的列表? –
Tom