java – 在一行中初始化ArrayList
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在一行中初始化ArrayList,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1114字,纯文字阅读大概需要2分钟。
内容图文
![java – 在一行中初始化ArrayList](/upload/InfoBanner/zyjiaocheng/717/4e84704fe5d14b75a4de336f02e17f18.jpg)
我想创建一个用于测试目的的选项列表.起初,我这样做了:
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
然后我重构代码如下:
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
有一个更好的方法吗?
解决方法:
实际上,初始化ArrayList的“最佳”方法可能是您编写的方法,因为它不需要以任何方式创建新的List:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
问题是,引用该列表实例需要进行相当多的输入.
还有其他选择,例如使用实例初始化程序创建匿名内部类(也称为“双括号初始化”):
ArrayList<String> list = new ArrayList<String>() {{
add("A");
add("B");
add("C");
}};
但是,我不太喜欢那个方法,因为你最终得到的是ArrayList的一个子类,它有一个实例初始化器,并且创建该类只是为了创建一个对象 – 这对我来说似乎有点过分.
如果Project Coin Collection Literals proposal被接受(它将被引入Java 7,但它也不可能成为Java 8的一部分),那本应该不错的是.):
List<String> list = ["A", "B", "C"];
不幸的是,它不会帮助你,因为它将初始化一个不可变的List而不是一个ArrayList,而且,它还没有,如果有的话.
内容总结
以上是互联网集市为您收集整理的java – 在一行中初始化ArrayList全部内容,希望文章能够帮你解决java – 在一行中初始化ArrayList所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。