C#Gurus的Java泛型

时间:2009-08-08 01:31:43

标签: c# java generics reference

从完全了解C#Generics的人的角度来看,Java Generics是否有任何好的快速参考指南(最好是在线)?我发现语法是如此相似,我希望它只是工作,然后我遇到不熟悉的Java语法,如下所示:

Class<?> foo;

我认为它类似于C#:

Type<T> foo;

但在我看到它的背景下,这似乎没有意义。特别是因为T缺乏上下文,就像在C#中一样。

3 个答案:

答案 0 :(得分:2)

http://www.jprl.com/Blog/archive/development/2007/Aug-31.html在该主题上发表了相当不错的帖子。

这里有一篇文章以及一些可能有用的进一步讨论 C# vs Java generics

答案 1 :(得分:1)

你问的是被称为未绑定的通配符。 不幸的是C#不支持它们。此外,C#2.0-3.5没有协变和逆变泛型的实现。后者介绍了C#4.0。 您可以在C#中编写Class<?> foo;而不是Class<object> foo;。 基本上?在Java泛型中引入,以便与旧版本向后兼容。

简短的回答是不,你没有直接的代表?在C#中,我建议你用对象类型替换它,或者让它将整个类转换为模板类。

答案 2 :(得分:1)