Java SE 6.0 API说java.util.HashMap中的values()方法返回一个Collection类型. JVM如何决定在运行时返回哪个集合.是jvm具体还是有Java遵循的一般准则.我浏览了HashMap的源代码,但无法得到一个线索.任何帮助都是非常感激的,或者如果这个问题是跛脚,请点击我的原因.谢谢.
解决方法
你可以看到来源:
public Collection<V> values() { if (values == null) { values = new AbstractCollection<V>() { ...
他们实际上给了AbstractCollection的自定义实现.
要知道这个集合的一个重要的事情是它不是可序列化的:从不尝试在客户端 – 服务器之间发送它.
请注意,此摘录来自Sun JDK源.这意味着它特定于供应商的实现.