首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java泛型使用类Object作为它们存储的数据类型,对还是错?请解释一下

Java泛型使用类Object作为它们存储的数据类型,对还是错?请解释一下
EN

Stack Overflow用户
提问于 2016-10-26 10:35:28
回答 2查看 89关注 0票数 0

我其实不明白这个问题。我认为泛型可以被任何类型的数据替代,包括原始数据和引用数据。java泛型与对象类型有什么关系?

EN

回答 2

Stack Overflow用户

发布于 2016-10-26 10:41:45

Java泛型使用类对象作为它们存储的数据类型,对还是错?

答案是错误的。

Java泛型可以为类型使用类Object,但它们也可以使用更具体的类型。这取决于泛型类是如何声明的。

我认为泛型可以被任何类型的数据替代,包括原始数据和引用数据。

这是不正确的。在Java中,不能将基元类型用作泛型类型参数。

java泛型与对象类型有什么关系?

这个问题太宽泛了,不能在这里回答。

我建议您阅读有关泛型的Oracle Java教程流: Type Erasure上的https://docs.oracle.com/javase/tutorial/java/generics/

票数 0
EN

Stack Overflow用户

发布于 2016-10-26 10:42:03

Java泛型不允许将原始类型用作泛型参数。至少在当前版本中,这种情况在Java 9中值类型可能会发生变化。

无论如何,答案是错误的,尽管在许多情况下这是真的。如果你这样写:

代码语言:javascript
复制
class Foo<T> {
...

这意味着Java将在代码引用T的任何地方在内部使用Object。但是:

代码语言:javascript
复制
class Foot<T extends InputStream> {
...

在上面的示例中,基本对象是InputStream,因此Java将在代码引用T的任何位置使用InputStream

实际上,即使使用反射,也可以找到这些信息。对于反射,总是会有基本的类型。如果不对泛型使用extends,则默认类型为Object

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40252803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档