Map 在Java中意味着什么?

Map在Java中意味着什么?
我看过网上但似乎找不到任何文章。

编辑:我在MP3 Duration Java上发现了这个

? 表示您不感兴趣的占位符(通配符):

 HashMap foo = new HashMap(); 

从那以后? 是一个通配符,您可以跳过它并仍然得到相同的结果:

 HashMap foo = new HashMap(); 

但它们可用于指定或子集要使用的generics。 在此示例中,第一个generics必须实现Serializable接口。

 // would fail because HttpServletRequest does not implement Serializable HashMap foo = new HashMap(); 

但是使用具体类而不是这些通配符总是更好。 你应该只使用? 如果你知道你在做什么:)

Map表示在编译时,您不知道Map的键类和值对象的类类型是什么。

它是一个通配符类型。 http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html

从Java5开始,Generics就提供了这种语言。 http://download.oracle.com/javase/tutorial/java/generics/index.html

符号表示您正在创建的Map将接受A类对象作为键,B类对象作为值。

这有助于您作为开发人员,因此您不会再将对象强制转换为正确的类。 因此,您将无法使用除A之外的键和除B之外的其他对象的映射。避免丑陋的强制转换并提供编译时约束

Map告诉您可以在地图中使用每个对象的keyvalue

但通常使用这样的generics更有用:

 Map map 

因此,在此映射中,您只能put String作为键,将YourCustomObject作为值。

请参阅有关generics的本教程 。

的? 是generics中的通配符。 太阳……呃…… Oracle在这里有一个关于generics的很好的教程。 有一个关于通配符的单独部分。

如果您在问题中发布了更多上下文,例如您在哪里看到Map ,您可能会得到更好的答案。