情况如下:
interface A{}//interface for entities
class B implements A{}//entity B
class C implements A{}//entity C
abstract class AR<E extends A>{}//generate list of E via a file,this will be done after the construct func.
class BR extends AR<B>{}
class CR extends AR<C>{}
现在我要维护:
Map<String,List<A>> data;//<filepath+filename, list of entities in file>
功能。blow 将根据 fileAddr 返回列表:
<E extends A,R extends AR<E>> List<A> getList(String fileAddr)
{
if(data.containsKey(fileAddr))
return data.get(fileAddr);
else
{
AR<E> reader=new R(fileAddr);//generate a list of E via this file
List<E> values=reader.getValues();
data.put(fileAddr,values);
return values;
}
}
但这不起作用,并且new R(fileAddr)
不受支持。
那么如何实现 getList() 函数。基于规范。多于。