[问题] 关于泛型 lists.newArrayList

楼主: superston (有点寂寞 有点空)   2015-06-02 14:13:41
Lists 是google 开发的一个类别
其中有一个static method source Code 如下
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
使用上如果我需要宣告一个
通常会这样写
List<myObj> myList = new ArrayList<myObj>();
但使用 Lists google 开发的API 只需要这样写
List<myObj> myList = Lists.newArrayList(); //就可以了
执行到这段时 会自动配好型态指定为 myObj的list给myList
也就是说可以让程式码看起来干净不少。
这边想请教一下 关于这个method 泛型的知识
public static <E> ArrayList<E> newArrayList()
有两个<E> 我想知道 第一个 <E> 代表的意思是??
感谢
作者: ssccg (23)   2015-06-02 14:24:00
定义泛型参数,后面是把这个参数用在回传型别里用这个method的时候就要带入一个实际型别给这个参数,但是compiler可以从用到的地方推出带入的型别时可省略
作者: LaPass (LaPass)   2015-06-02 14:33:00
现在可以用这样写 new ArrayList<>();
楼主: superston (有点寂寞 有点空)   2015-06-02 15:55:00
谢谢解惑,所以是compiler帮忙做判断的....

Links booklink

Contact Us: admin [ a t ] ucptt.com