您的位置:首页 > 编程语言

偶然看到一段代码,但是不明白这是什么用法? List<String> list = new ArrayList<String>() { { a

2018-02-10 10:25 295 查看
操作符 new 表明要 创建一个  List 类型的 对象/变量 list。

list里面存放的是一个数组列表(ArrayList) 对象,其下标,和普通数组的下标一样,是 int 类型,list的元素都是String类型

ArrayList<E>这个类,实现了接口 List<E>, 故可以将 ArrayList的任何对象的类型,如 list, 看作是 java.util.List 类型。

尖括号是泛型操作符。其中的参数 String 表明List 类型的 对象的元素类型均为字符串 String 类型。

一对里面无内容的圆括号表明被调用的构造方法无需参数,就是说,被调用的构造方法是缺省的/默认的。

内层花括号显示这个类定义里的代码块,其操作为:调用ArrauList类的成员方法 add(),先后将字符串 "a" 和 "b", 添加到此列表的尾部。只要调用这个类的构造方法,这个代码块都会被执行一次。
删掉所有的花括号: List<String> list = new ArrayList<String>();或仅删除内花括号: List<String> list = new ArrayList<String>(){} ; 结果都是: 创建了一个空的(不含字符串元素的) ArrayList 对象 list。
楼主出示的代码,其效果等同于:
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐