我正在尝试实现一个“两级”铸造的问题。派生泛型类型的java删除
下面是简单的代码来显示什么,我试图做的:
public class Array2D<T>
{
private T[][] _array;
....
public T get(int x , int y)
....
public void set(T o , int x , int y)
}
直到有没有问题。
我想扩展这个类,如我可以封装使用在吸气SoftReferences和setter的:
public class Array2DSoftRefs<T> extends Array2D<SoftReference<T>>
{
public T get(int x , int y)
{
return super.get(x,y).get(); // get the array element, then the SoftReference contents
}
....
public void set(T o , int x , int y)
{
super.set(new SoftReference<T>(o) ,x,y); // generate the SoftReference on-the-fly
}
}
事实上,我拉开序幕,因为编译器/语法分析器跳过了泛型删除,然后@Override
注释不能帮助我(队长显而易见)。
我不知道如何从SoftReference<T>
模板返回T
类型。
我试着为SoftReference<T>
放入两个仿制药T
和U
,但没有成功。
术语_template_未在Java中使用。术语_generics_和_type parameters_用于替代。 – jahroy
什么是确切的编译器错误信息? – Bohemian
@jahroy感谢编辑和单词,我仍然怀念我的C++背景。 – Benj