commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <>
Subject [jira] Commented: (COLLECTIONS-265) TreeBag allows uncomparable item to be added, breaking toString
Date Tue, 18 Sep 2007 23:20:43 GMT


Henri Yandell commented on COLLECTIONS-265:

Sorry for the delay David.

For 2) doesn't seem like it would stop the exception - toString dies when one object is added,
not two?

For 1), the idea is to have a TreeMap with the comparable data, and a single Object with the
uncomparable? Then all methods would need to include the uncomparable object with the comparable
when returning? 

> TreeBag allows uncomparable item to be added, breaking toString
> ---------------------------------------------------------------
>                 Key: COLLECTIONS-265
>                 URL:
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Bag
>    Affects Versions: 3.2
>            Reporter: David Saff
>            Priority: Minor
> The following code throws an exception not when the Object is added, but when toString
is called:
> 		TreeBag bag = new TreeBag();
> 		bag.add(new Object());
> 		bag.toString();
> Trace:
> java.lang.ClassCastException: java.lang.Object
> 	at
> 	at java.util.TreeMap.getEntry(
> 	at java.util.TreeMap.get(
> 	at org.apache.commons.collections.bag.AbstractMapBag.getCount(
> 	at org.apache.commons.collections.bag.AbstractMapBag.toString(
> [...]
> In a client program, toString should never throw an exception--it makes debugging much
harder, for one thing.  I believe that TreeBag should defend against the addition of uncomparable
objects, so that toString will never throw an exception.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message