【发布时间】:2011-10-19 01:12:17
【问题描述】:
我不太明白泛型的意义。它们是做什么的,你如何使用它们?
据我所知,他们所做的只是在编译时而不是运行时检查返回类型,以避免在引发错误之前运行程序。这就是他们所做的一切吗?
例如:
public <Integer> int test() {
return 'c'; //will throw error at compile instead of runtime
}
我在读一些关于泛型是如何任意的,你应该只使用大写字母吗?这有点令人困惑。
【问题讨论】:
-
这是不正确的 - 您不能将原语用作泛型。
-
您确实意识到,无论是否存在泛型,返回类型总是在编译时检查。你在这里所做的只是通过返回一个“c”(即 ASCII 值 143)而不是一个明显的整数来混淆程序员。
-
@duffymo 我实际上不确定该方法签名是否存在不正确或基于错误假设的任何内容。
-
@Chris:这就是我的想法,这就是我感到困惑的原因。我不明白泛型是做什么的。
-
现在改了就对了。第一篇文章有
标签: java oop generics data-structures