我需要创建一个Set初始值。 Set<String> h = new HashSet<String>(); h.add("a"); h.add("b"); 有没有办法在一行代码中执行此操作? 我使用的速记不是非常节省时间,但适用于单行: Set<String> h = new HashSet<>(Arrays.asList("a", "b")); 同样,这不是时间有效的,因为您正在构建一个数组,转换为一个列表并使用该列表来创建一个集合。 初始化静态最终集时,我通常会这样写: public static final String SET_VALUES = new String { "a", "b" }; public static final Set<String> MY_SET = new HashSet<>(Arrays.asList(SET_VALUES)); 稍微不那么丑陋和效率对静态初始化无关紧要。 收集文字是为Java 7安排的,但没有进入。所以没有自动化。 你可以使用番石榴Sets: Sets.newHashSet("a", "b", "c") 或者您可以使用以下语法,这将创建一个匿名类,但它是hacky: Set<String> h = new HashSet<String>() {{ add("a"); add("b"); }};