这似乎并不工作(编译抱怨Something
的getFoo()
方法没有实现HasFoo
),我想不通为什么或如何解决它....的java:界面和模板
enum FooKey { BLOB1, DONUT, ... }
interface HasFoo
{
public Object getFoo(FooKey k);
}
class Something implements HasFoo
{
private Map<FooKey, Object> map;
@SuppressWarnings("unchecked")
@Override
<T> T getFoo(FooKey k)
{
return (T)map.get(k);
}
/* other stuff deleted */
}
我想输入接口,我也希望能够做的东西像
Something something = ...
Blob blob1 = something.getFoo(FooKey.BLOB1);
Donut donut = something.getFoo(FooKey.DONUT);
doh!所以它!我不知道你可以在界面中做到这一点,我认为你只能做'接口HasFoo'。 –
2010-03-05 15:36:46