我想有在接受一個通用對象的任何類型的接口的方法,像接口實現參數
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