使用此界面:
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)
之类的操作即可。此示例的关键是避免使用原始类型,以便编译器可以确保您已编写了类型安全的代码。