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

伊杜斯

我已经找到了实现所需逻辑的正确方法,但是我很好奇以下内容为何无效。半小时的搜索没有得到任何答案,但是可能我的措词不正确。

我想做的是限制类型参数,以使Collections不被接受。虽然我可以测试参数类型,但我希望IDE指示Class不接受Collection作为类型参数。我知道关键字excludes不存在,但我希望它有助于说明当前的问题。

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

用Java有什么办法做到这一点?我认为这不是最佳做法,即使有可能,但我想满足我的好奇心,以扩大我对泛型的理解。

感谢您的时间和考虑!

亚历山大·盖斯勒

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章