我正在查看来自Oracle的Java,特别是作为java.util.Arrays类的一部分的这个方法:
public static <T> List<T> asList(T... a)
但是,当这个方法显然是一个接口时,它怎么可能返回一个列表对象呢?
发布于 2015-04-13 06:16:52
任何将接口类型作为其返回类型的方法实际上都返回实现该接口的某个类的实例。将接口类型作为返回类型的目的是允许方法的开发人员在不更改API的情况下更改方法返回的实现。
对于Arrays.asList,返回Arrays$ArrayList的一个实例( Arrays类中的一个嵌套类)。
https://stackoverflow.com/questions/29598883
复制相似问题