♬ ♪ "Who am I to disagree..." ♫ 

This should be a P2 and fixed for Java 8.

Mike

On Dec 9 2013, at 02:51 , Doug Lea <d...@cs.oswego.edu> wrote:

> On 12/09/2013 05:11 AM, Paul Sandoz wrote:
>> Hi Roman,
>> 
>> On Dec 8, 2013, at 10:29 PM, Roman Leventov <leven...@ya.ru> wrote:
>>> Especially getDefault(). Doesn't this violate principle of least 
>>> astonishment? Details and proof: 
>>> http://stackoverflow.com/questions/20440136/why-doesnt-new-map-methods-generate-entry-accesses-on-linkedhashmap
>>> 
>> 
>> Thanks. I believe that all the new (default) Map methods but getOrDefault 
>> behave correctly. So i think it is a bug, we need to add something like the 
>> following to LinkedHashMap:
>> 
> 
> I agree. Please do this.
> 
> -Doug
> 
> 
>>     public V getOrDefault(Object key, V defaultValue) {
>>         Node<K,V> e;
>>         if ((e = getNode(hash(key), key)) == null)
>>             return defaultValue;
>>         if (accessOrder)
>>             afterNodeAccess(e);
>>         return e.value;
>>     }
>> 
>> and also update the documentation to clarify (via the implementation 
>> specification of the default methods it can be inferred what the behaviour 
>> is, but that ain't obvious).
>> 
>> I have logged this bug:
>> 
>>   https://bugs.openjdk.java.net/browse/JDK-8029795
>> 
>> Paul.
>> 
>> 
>> 
> 

Reply via email to