bob*_*bob 8 java arrays syntax
private final String[] okFileExtensions = new String[] { "csv" };
Run Code Online (Sandbox Code Playgroud)
有人请解释为什么{}在String数组声明后写的?
谢谢.
Tom*_*ine 16
它是一个元素的数组.在这种情况下包含String "csv".
当作为声明的一部分编写时,可以用更简洁的形式编写:
private final String[] okFileExtensions = { "csv" };
Run Code Online (Sandbox Code Playgroud)
多元素数组在值之间使用逗号.根本不需要任何价值观.
private final String[] okFileExtensions = { "csv", "tsv" };
private final String[] noFileExtensions = { };
Run Code Online (Sandbox Code Playgroud)
值得注意的是,尽管引用是最终的,但数组却不是.所以你可以写:
okFileExtensions[0] = "exe";
Run Code Online (Sandbox Code Playgroud)
解决这个问题的方法是切换到集合并使用不可修改的实现:
private final Set<String> okFileExtensions = Collections.unmodifiableSet(
new HashSet<String>(Arrays.asList({
"csv"
}));
Run Code Online (Sandbox Code Playgroud)
JDK8旨在对集合进行增强,使其更加简洁.可能List和Set语言中的文字.可能是:
private final Set<String> okFileExtensions = { "csv" };
Run Code Online (Sandbox Code Playgroud)
集合通常应优先于数组(对于引用类型).
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |