我想有在接受一个通用对象的任何类型的接口的方法,像接口实现参数
public void myMethod(List<?>);
现在的实现应该只接受特定类型,例如。实现1:
实现2:
public void myMethod(List<String>);
然而,这并不为public void myMethod(List<Integer>);
工作不是public void myMethod(List<?>);
有效implementaion我怎么能做到这一点? (除了使用对象参数,因此依靠铸造和手动进行类型检查)
准确地说。如果您未实现'public void MyMethod(List >)'的方法,那么您尚未实现该接口(请参阅http://en.wikipedia.org/wiki/Liskov_substitution_principle)。你想做什么? –
通过不使用对象参数,你的意思是不使用myMethod(List <?extends Object>)?如果你想要的东西是通用的,你将永远不得不做一些类型的演员......我可能会错过你的观点。 – Miquel