我想创建一个用于测试目的的选项列表.起初,我这样做了:
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
Run Code Online (Sandbox Code Playgroud)
然后我重构代码如下:
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我无法初始化List,如下面的代码所示:
List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
Run Code Online (Sandbox Code Playgroud)
我面临以下错误:
无法实例化该类型
List<String>
我该如何实例化List<String>?
我想用一个枚举的所有可能值列出一个列表
因为我最近爱上了EnumSet,我利用了allOf()
EnumSet<Something> all = EnumSet.allOf( Something.class);
List<Something> list = new ArrayList<>( all.size());
for (Something s : all) {
list.add( s);
}
return list;
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法(如在非混淆的一个班轮中)获得相同的结果?
如果你有一个List<String> strings实例,你会继续写:
Collections.unmodifiableList(strings)
Run Code Online (Sandbox Code Playgroud)
或切换到:
List.of(strings.toArray(new String[strings.size()]))
Run Code Online (Sandbox Code Playgroud)
实例的性能(内存和运行时)的初始影响是什么?List.of变体中是否有运行时优势?
为什么我可以初始化ArrayList,如下所示:
ArrayList<Integer> x = new ArrayList<Integer>(Arrays.asList(1,2));
Run Code Online (Sandbox Code Playgroud)
但使用时出现错误:
ArrayList<Long> x = new ArrayList<Long>(Arrays.asList(1,2));
Run Code Online (Sandbox Code Playgroud) 我正在使用带有 gradle 的 springboot 并且我试图在控制器中执行以下代码。
List<String> planets
= List.of("Mercury", "Venus", "Earth", "Mars",
"Jupiter", "Saturn", "Uranus", "Neptune");
Run Code Online (Sandbox Code Playgroud)
编译时出现以下错误
错误:找不到符号 = List.of("Mercury", "Venus", "Earth", "Mars", ^ 符号:方法 of(String,String,String,String,String,String,String,String)
位置:接口列表
我的 gradle 文件有
源兼容性 = '1.8'
我知道它是一个 java 9 特性,但不确定为什么它会在编译时失败
java ×6
list ×4
arraylist ×2
collections ×2
arrays ×1
enums ×1
gradle ×1
java-9 ×1
long-integer ×1
spring-boot ×1