Stephen Colebourne wrote:
From: "Phil Steitz" <[EMAIL PROTECTED]>

Grr. Just discovered another wonderful "feature" when implementing a
test for this.  Since the algorithm for index(map, i) first tries to
find Integer(i) as a key in the map, if you use a TreeMap to test, this
throws a ClassCastException unless the keys in the map are Integers.

I guess this is more or less implied by the javadoc, which describes the
algorithm, but I am thinking now that it might be better to catch the
ClassCastException (or maybe even Exception) in the first attempted
lookup and let it drop through to the iterator. This would make the
method usable for Sorted Maps with non-integer keys.  Any objections to
this change?


+1, however the more I look......

An alternative would be to deprecate it and write a version on IteratorUtils
that only has the index(Object, int) syntax. I have no idea who would use
this method, and it is just seriously weird.

Agreed. If there are no objections, I will do this.



A sensible API would be: Gets the nth index in the object specified. The object may be an array, collection, iterator, enumeration or map. Returns null if no matching element.

Certainly better than the current method. In the case of a Map, by the "matching element", which do you mean


a) the nth element of the keySet (like now)
b) the nth Map.Entry of the entrySet (best, IMHO) or
c) the value of the nth entry of the entrySet?

Phil



Stephen



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to