java - java中的泛型对象赋值

标签 java generics collections

我收到以下代码的编译错误。 ?意味着接受我们分配的任何类型的东西。我有对象类型并传递对象类型。但是为什么会出现编译错误?

NavigableSet<?> set = new TreeSet<Object>();
set.add(new Object());

最佳答案

对于变量NavigableSet<?> , 编译器只知道它是一个 NavigableSet ,但不知道类型,因此没有对象可以安全添加。

例如,这可能是代码:

NavigableSet<?> set = new TreeSet<String>(); // ? could be String
set.add(new Object()); // can't add Object to a Set<String>

关于java - java中的泛型对象赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23294030/

相关文章:

java - 如何按日期对对象列表进行分组?

java - xmlhttprequest 获取加密 key + html 表单 - 我做错了什么

c# - 获取通用枚举的基础值

c# - 从 List<string[]> 中删除项目或在任何位置获取任何项目的索引

javascript - 在集合上设置属性 - backbone js

Swift, generic function : Why is one argument label needed, 其他的是不是?

java - Java中的队列/链表序列化

java - eXist-db:使用 XML:DB API 从 Java 应用程序连接时的用户名/密码

java - 如何修改生成的SOAP请求?

swift - 为类创建通用委托(delegate)