我有一个设置类,用于存储数据的Object
。有没有办法让一个方法返回指定的对象类型/类中的数据?例如
public objType getData(ObjType objType) {
objType out = (objType) data;
return out;
}
答案 0 :(得分:2)
方法可能是这样的(在这段代码示例中避免例外):
public <T> T getData(Class<T> clazz) {
return clazz.cast(data);
}
答案 1 :(得分:1)
我有一个设置类,用于存储数据的
Object
。
如果您有选择,请考虑不要这样做。相反,也许你可以参数化你的类:
public class YourClass<T> {
private T data;
public void setData(T d) {
this.data = d;
}
public T getData() {
return this.data;
}
}
然后有人使用你的课程来讲故事Thingy
实例会像这样使用它:
YourClass<Thingy> yc = new YourClass<>();
yc.setData(new Thingy());
Thingy t = yc.getData();
如果你不有选择权,那么施放是(遥远的)第二好的选择; Luiggi has you covered