gpt4 book ai didi

java - 将 Arrays.asList 与数组快捷方式声明一起使用时出现语法错误

转载 作者:行者123 更新时间:2023-11-30 06:59:37 25 4
gpt4 key购买 nike

谁能解释一下为什么这个表达式没问题

TestClass[] a = {new TestClass("a")};
public List<TestClass> tall = Arrays.asList( a );

但是这个被编译器以“语法错误”拒绝了

public List<TestClass> tall = Arrays.asList( {new TestClass("a")} );

声明数组的快捷语法是否只允许在数组声明的右侧?

最佳答案

除了显式数组初始化(例如,TestClass[] a = {new TestClass("a")};),您不能使用{} 不调用 new 运算符的数组文字的表示法。

因此要么显式调用 new 运算符:

public List<TestClass> tall = 
Arrays.asList( new TestClass[] {new TestClass("a")} );

或者更好的是,使用 Arrays.asList 的 varags 表示法,并完全放弃数组初始化:

public List<TestClass> tall = Arrays.asList(new TestClass("a"));

关于java - 将 Arrays.asList 与数组快捷方式声明一起使用时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31337718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com