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

  1. 操作符 new 表明要 创建一个  List 类型的 对象/变量 list。

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

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

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

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

  6. 内层花括号显示这个类定义里的代码块,其操作为:调用ArrauList类的成员方法 add(),先后将字符串 "a" 和 "b", 添加到此列表的尾部。只要调用这个类的构造方法,这个代码块都会被执行一次。
  7. 删掉所有的花括号: List<String> list = new ArrayList<String>();或仅删除内花括号: List<String> list = new ArrayList<String>(){} ; 结果都是: 创建了一个空的(不含字符串元素的) ArrayList 对象 list。
  8. 楼主出示的代码,其效果等同于:
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值