gpt4 book ai didi

java - 奇怪的字符串数组声明语法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:44 26 4
gpt4 key购买 nike

private final String[] okFileExtensions = new String[] { "csv" };

有人能解释一下为什么 {} 写在 String 数组声明之后吗?

谢谢。

最佳答案

它是一个元素的数组。在本例中包含 String "csv"

当写成声明的一部分时,可以写成更简洁的形式:

private final String[] okFileExtensions = { "csv" };

多元素数组在值之间使用逗号。根本不需要任何值。

private final String[] okFileExtensions = { "csv", "tsv" };

private final String[] noFileExtensions = { };

可能值得注意的是,尽管引用是最终的,但数组不是。所以你可以这样写:

    okFileExtensions[0] = "exe";

解决这个问题的方法是切换到集合并使用不可修改的实现:

private final Set<String> okFileExtensions = Collections.unmodifiableSet(
new HashSet<String>(Arrays.asList({
"csv"
}));

JDK8 旨在增强集合,使其更加简洁。可能是语言中的 ListSet 文字。可能:

private final Set<String> okFileExtensions = { "csv" };

集合通常应该优先于数组(对于引用类型)。

关于java - 奇怪的字符串数组声明语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2042944/

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