gpt4 book ai didi

Java 泛型类从类型参数中排除集合

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

我找到了一种正确的方法来实现我正在寻找的逻辑,但我很好奇为什么以下方法不起作用。搜索了半小时没有找到答案,但可能是我没有正确措辞问题。

我想做的是限制类型参数,这样 Collections 就不会被接受。虽然我可以测试参数类型,但我宁愿让 IDE 指示该类不接受 Collection 作为类型参数。我知道关键字 excludes 不存在,但我希望它有助于说明手头的问题。

public class Foo<K excludes Collection, V>
{
//TODO: Carry out Collectionist operations
}

有没有办法在 Java 中做到这一点?我认为这不是最佳实践,即使它是可能的,但我想满足我的好奇心,努力扩展我对泛型的理解。

感谢您的时间和考虑!

最佳答案

排除某些类型是不可能的。由于 Java 类型接口(interface)的方式,我可以简单地汇总具有完全相同操作的我自己的 Collection,并且它不会被排除在外。

只是出于好奇,这是一个公平的问题,但我不知道在编译时实现它的方法。您可以在 Foo 的构造函数中放置运行时检查。

关于Java 泛型类从类型参数中排除集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367737/

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