[ 
https://issues.apache.org/jira/browse/COLLECTIONS-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005998#comment-13005998
 ] 

Jochen Wiedmann commented on COLLECTIONS-323:
---------------------------------------------

The solution used for java.util.HashMap as well as for the others now is to 
silently increase the map size by 1. This is fine for these maps, where the 
size doesn't really matter.

In the case of the LRUMap, size is important and the user is explicitly 
choosing a particular size. Silent increment would imply to violate these 
explicit wishes. IMO, that's not an option.

> Behavior of constructors CaseInsensitiveMap inconsistent with standard Java 
> HashMap
> -----------------------------------------------------------------------------------
>
>                 Key: COLLECTIONS-323
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-323
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Map
>    Affects Versions: 3.2
>         Environment: Any
>            Reporter: Maarten Brak
>            Assignee: Jochen Wiedmann
>            Priority: Minor
>             Fix For: 3.2.2
>
>         Attachments: patch.tar.gz
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The constructor CaseInsensitiveMap(int initialCapacity) throws an 
> IllegalArgumentException if "the initial capacity is less than one". This is 
> inconsistent with the standard Java HashMap constructor HashMap(int 
> initialCapacity), which throws an if IllegalArgumentException if "the initial 
> capacity is negative".
> Thus:
> new HashMap(0) ==> no exception
> new CaseInsensitiveMap(0) ==> IllegalArgumentException.
> This inconsistency is confusing.
> Actions:
> - Change Javadoc (this shouldn't be a problem in practice since surely there 
> is no code around depending on the fact that the constructor throws an 
> IllegalArgumentException :-))
> - Change code.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to