栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

数组的Arrays.asList()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组的Arrays.asList()

让我们考虑以下简化示例:

public class Example {    public static void main(String[] args) {        int[] factors = {1, 2, 3};        ArrayList<Integer> f = new ArrayList(Arrays.asList(factors));        System.out.println(f);    }}

在println行中,这会打印类似“ [[I @ 190d11]””的字样,这意味着您实际上已经构建了一个包含int 数组 的ArrayList 。

您的IDE和编译器应警告该代码中未经检查的分配。您应该始终使用

new ArrayList<Integer>()
newArrayList<>()
代替
new ArrayList()
。如果您使用过它,则会由于尝试传递
List<int[]>
给构造函数而出现编译错误。

int[]
至没有自动装箱
Integer[]
,总之,自动装箱只是编译器中的语法糖,因此在这种情况下,您需要手动进行数组复制:

public static int getTheNumber(int[] factors) {    List<Integer> f = new ArrayList<Integer>();    for (int factor : factors) {        f.add(factor); // after autoboxing the same as: f.add(Integer.valueOf(factor));    }    Collections.sort(f);    return f.get(0) * f.get(f.size() - 1);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号