从完全了解C#Generics的人的角度来看,Java Generics是否有任何好的快速参考指南(最好是在线)?我发现语法是如此相似,我希望它只是工作,然后我遇到不熟悉的Java语法,如下所示:
Class<?> foo;
我认为它类似于C#:
Type<T> foo;
但在我看到它的背景下,这似乎没有意义。特别是因为T
缺乏上下文,就像在C#中一样。
答案 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)