What methods should go into a java.util.Objects class in JDK 7?

Rémi Forax forax at univ-mlv.fr
Wed Sep 9 23:48:44 UTC 2009


Le 09/09/2009 23:22, Andrew John Hughes a écrit :
> Given you've listed utility methods for two Object methods, equals and
> hashCode, toString seems an obvious one to handle as well:
>
> public static String toString(Object o)
>    throws IllegalAccessException
> {
>    Class<?>  c = o.getClass();
>    StringBuilder b = new StringBuilder(c.getName());
>    b.append("[");
>    for (Field f : c.getDeclaredFields())
>    {
>      f.setAccessible(true);
>      b.append(f.getName() + "=" + f.get());
>      b.append(",");
>    }
>    b.replace(b.length() - 1, b.length(), "]");
>    return b.toString();
> }
>
> Maybe there's also a useful utility implementation of clone too, but I
> can't think of one offhand.
>    

Arghhh,

b.append(f.getName() + "=" + f.get());

shoud be

b.append(f.getName()).append("=").append(f.get(o));


And I think there is a problem if the object has no field.

Rémi



More information about the core-libs-dev mailing list