Java通用类从类型参数中排除集合

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

我想要做的是限制类型参数,以便不接受集合。 虽然我可以测试参数类型,但我宁愿让IDE指示Class不接受Collection作为类型参数。 我知道关键字排除不存在,但我希望它有助于说明手头的问题。

public class Foo { //TODO: Carry out Collectionist operations } 

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

感谢您的时间和考虑!

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

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

这样的实现是不可能的。

当前版本的generics仅支持扩展或超级。 它不支持任何负面情况。