gpt4 book ai didi

Java:如何确定抽象类型的具体类型?

转载 作者:行者123 更新时间:2023-12-01 08:06:10 28 4
gpt4 key购买 nike

我有一个方法

public static Set<MyClass> doSomething(Set<MyClass> oldSet) {

//I don't necessarily want this to be a HashSet
Set<MyClass> newSet = new HashSet<MyClass>();

//Add some things to newSet

return newSet;
}

有什么方法可以返回与传入的 Set 相同的具体类型吗? (无需返回oldSet)。不幸的是,集合无法克隆。

示例

如果 oldSet 是 TreeSet,我也希望返回的集合 (newSet) 也是 TreeSet。

最佳答案

尝试

Set<MyClass> doSomething(Set<MyClass> oldSet) {

Set<MyClass> newSet =oldSet.getClass().newInstance();

return newSet;
}

只有当 oldSet 的具体类具有不带参数的构造函数时,这才有效。

关于Java:如何确定抽象类型的具体类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21404193/

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