使用此界面:

interface SomeInterface<E> {
  List<E> getList();
}


和这个实现:

private void someMethod(SomeInterface someImplementation) {
  Object item = someImplementation.getList().get(0);  // here
}


使用什么合适的数据类型?如图所示,只是Object

最佳答案

private <T> void someMethod(SomeInterface<T> someImplementation) {
  T item = someImplementation.getList().get(0);  // here
}


Object也可以,只要以后不需要执行someImplementation.getList().add(item)之类的操作即可。此示例的关键是避免使用原始类型,以便编译器可以确保您已编写了类型安全的代码。

07-24 13:24