Le 31/03/2010 01:34, joe.da...@oracle.com a écrit :


On 3/30/2010 10:54 AM, Kevin Bourrillion wrote:
Pair is only a partial, flawed solution to a special case (n=2) of a very significant problem: the disproportionate complexity of creating value types in Java. I support addressing the underlying problem in Java 8, and not littering the API with dead-end solutions like Pair.

While I have sympathy with that conclusion, there is the
side-effect of littering many APIs with the flotsam of lots of different
classes named "Pair."  My inclination would be to produce one adequate
Pair class in the JDK to prevent the proliferation of yet more Pair classes in other code bases.

I should know better than to take the bait, below is a first cut at
java.util.Pair.

In equals, instanceof Pair should be instanceof Pair<?,?>.
Pair is a raw type.

getA()/getB should be renamed to getFirst()/getSecond(),
according to their javadoc.

Object.toString() is not necessary in Pair.toString() because
StringBuilder.append (in fact String.valueOf()) already
returns "null" for null.
And minor optimisation, ']' can be used instead of "]".

public String toString() {
    return "[" +a + ", " + b + ']';
    }


-Joe

Rémi

Reply via email to