gpt4 book ai didi

java - 如何在 Java 中正确转换泛型集合?

转载 作者:行者123 更新时间:2023-12-02 03:13:54 28 4
gpt4 key购买 nike

假设我最初声明并定义了一组整数,如下所示:

Set<Integer> s = new TreeSet<>();

现在,稍后我想使用特定于 TreeSet 的方法。想象一下我在我的项目中多次需要这样做。以下哪一种方法被认为是更值得坚持的做法?

1- 在开始使用 s 之前在我的方法的开头编写此内容

s = (TreeSet) s;

2-使用包含的类型进行编写(再次在我的方法的开头)

s = (TreeSet<Integer>) s;

3-仅在我需要访问 TreeSet 特定方法时才从 Set 转换为 TreeSet

Integer x = ((TreeSet)s).first();

最佳答案

正如其他人所说,如果重要的话,您不需要在声明后丢失作为 TreeSetSet 的上下文。

TreeSet 是一个 Set,因此您应该能够将它作为 Set 传递。

例如:

Set<Integer> getSetButDoSomethingSpecial() {
TreeSet<Integer> treeSet = new TreeSet<>();
//Do something specific to treeSet
return treeSet;
}

关于java - 如何在 Java 中正确转换泛型集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56976074/

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