Java泛型不支持像int
这样的基元类型。您可以改用java.lang.integer
包装类:
Vector <Integer> vi = new Vector<Integer>();
作为附带说明,虽然vector
并不是正式弃用的,但它自JDK1.2以来就被认为是过时的,您可能应该改用arraylist
。
问题内容: 为什么Java中的泛型只能用于类,而不能用于原始类型? 例如,这可以正常工作: 但这是不允许的: 问题答案: ava中的泛型是一个完全编译时的结构-编译器将所有泛型使用转换为正确的类型。这是为了保持与以前的JVM运行时的向后兼容性。 这个: 变成(大致): 因此,任何用作泛型的东西都必须可转换为Object(在此示例中返回),而原始类型则不是。因此它们不能用于泛型。
为什么Java中的泛型可以处理类而不能处理基元类型? 例如,这个操作很好: 但这是不允许的:
问题内容: 我正在使用泛型编写某些东西,令我惊讶的是,我发现这行不通: 那我不能实例化泛型吗?没有任何方法可以做到这一点吗? 问题答案: 是的,这真是令人讨厌。 我使用的解决方法是强制客户端在构造新类时传递类-即 然后您可以使用。
问题内容: 在Java中,Map接口定义为 为什么不? 我刚遇到一个讨厌的错误,因为使用了错误的类型密钥。我认为泛型的目的是在编译期间及早捕获类型错误。这会达到目的吗? 问题答案: 凯文·布罗里恩(Kevin Bourrillion)不久前就在博客上发表了文章。摘要: 一致地,除非有必要防止集合损坏,否则Java Collections Framework(以及Google Collections
所以我有这个代码: 它应该打开一个文本为"true"的消息对话框。问题是它会给出一个编译器错误,说我不能调用基元类型int的方法。为什么会发生这种情况? 铸造按预期工作。我只是不明白为什么对象会变成一个基本类型。
我正在尝试我的第一个Quarkus应用程序,并且正在从Spring转移到Quarkus。 在Spring中,我创建了一个helper库,其中定义了一个通用的StandardService。 服务类如下所示: model类如下所示: 是我的代码中遗漏了什么,还是Quarkus的限制?在Spring中,我可以在服务内部编译和使用它。