Java设置ArrayList中对象的通用值
我有课
public class ValueObject<T> {
private T value;
public void setValue(T value){
this.value = value
}
}
在另一个类中,我从第一个类中获得了一个对象数组
ArrayList<ValueObject<?>> valueObjects = new ArrayList<>();
ArrayList<String> valueNames = new ArrayList<>();
现在我想写一个方法,在第二个数组中查找一个名称,并为该数组列表中第一个对象的实例赋值
ValueObject<?> get(String name) {
return valueObjects.get(valueNames.indexOf(name));
}
public <T> void set(String name, T value) {
get(name).setValue(value);
}
但我没法让它发挥作用。我需要写点什么吗?在set()方法中
谢谢()
# 1 楼答案
你没有提供一个完整的例子,所以不确定哪一个对你有帮助
如果可以使用
List<ValueObject<T>>
,则版本1,因为所有ValueObjects
都具有相同的类型版本2如果
valueObjects
真的包含ValueObject
和不同的包含类: