gpt4 book ai didi

java - 为什么不使用 Set set = new HashSet() 而不是 Set set = new HashSet()?

转载 作者:行者123 更新时间:2023-12-01 07:18:13 27 4
gpt4 key购买 nike

无论我看什么,我都会看到集合的输入是这样完成的:

Set<String> set = new HashSet<String>();

但是,我像这样定义我的集合

Set<String> set = new HashSet();

而且我仍然进行类型检查(而且我的方式看起来更干净)。

也许这与创建通用集合有关?但是,假设我只想要一个字符串的 HashSet,那么就不是

Set<String> set = new HashSet();

够了吗?

最佳答案

创建新集合时您正在使用泛型类。

泛型类必须获取其封装的泛型类型,否则被认为是Raw Type .

因此, Collection 值(value)的正确声明应该是:

Set<String> mySet = new HashSet<>();

由于 Set<String> 上的声明,您的 JVM 将能够推断出 HashSet 中使用的泛型类型。

大多数 IDE(例如 Eclipse 和 ItelliJ)都会将其 linter 配置为在使用原始类型类时提供警告。可以抑制此警告,但这被认为是不好的做法。

引用文献:

奖金:

关于java - 为什么不使用 Set<String> set = new HashSet() 而不是 Set<String> set = new HashSet<String>()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50458772/

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