The safe way to call toString and avoid a NPE is to call
String.valueOf(xxx). If the underlying toString method throws some other
exception internally, that exception will still get thrown.

----- Original Message ----- 
From: "Henning P. Schmiedehausen" <[EMAIL PROTECTED]>
Newsgroups: hometree.jakarta.commons.dev
To: <[EMAIL PROTECTED]>
Sent: Tuesday, August 05, 2003 05:04 A
Subject: Re: [LANG] Do we have a safeToString() ?


> [EMAIL PROTECTED] writes:
>
> >StringUtils.defaultString()
>
> Takes a String, not an Object.
>
> >ObjectUtils.toString()
>
> What? This might return [EMAIL PROTECTED] in
my memory.
>
> I want to call toString() on arbitrary objects and avoid the NPE when I do
<foo>.toString().
>
> Regards
> Henning
>
>
>
> >Stephen
>
> >>  from:    "Henning P. Schmiedehausen" <[EMAIL PROTECTED]>
> >> as I was needing a method like this:
> >>
> >> /**
> >>  * Returns the toString() value of the passed
> >>  * object. If null is passed, return the String
> >>  * "null".
> >>  *
> >>  * @param obj The object to print out.
> >>  * @returns A String representation of the passed
> >>  *          object.
> >>  */
> >> public String safeToString(Object obj) {
> >>     if (obj == null) {
> >>         return "null";
> >>     }
> >>     return obj.toString();
> >> }
> >>
> >> for the gadzillionth time and we have
> >>
> >>     public static String identityToString(Object object) {
> >>         if (object == null) {
> >>             return null;
> >>         }
> >>         return new StringBuffer()
> >>             .append(object.getClass().getName())
> >>             .append('@')
> >>
.append(Integer.toHexString(System.identityHashCode(object)))
> >>             .toString();
> >>     }
> >>
> >> in ObjectUtils, wouldn't this safeToString() be a nice addition to the
> >> ObjectUtils? Or do we already have something like this in the lang
> >> somewhere?
> >>
> >> Regards
> >> Henning
> >> -- 
> >> Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
> >> [EMAIL PROTECTED]         49 9131 50 654 0   http://www.intermeta.de/
> >>
> >> Java, perl, Solaris, Linux, xSP Consulting, Web Services
> >> freelance consultant -- Jakarta Turbine Development  -- hero for hire
> >>
> >> "You are being far too rational for this discussion."
> >>        --- Scott Robert Ladd in <[EMAIL PROTECTED]>
> >>
> >> ---------------------------------------------------------------------
> >> 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]
>
> -- 
> Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
> [EMAIL PROTECTED]        +49 9131 50 654 0   http://www.intermeta.de/
>
> Java, perl, Solaris, Linux, xSP Consulting, Web Services
> freelance consultant -- Jakarta Turbine Development  -- hero for hire
>
> "You are being far too rational for this discussion."
>        --- Scott Robert Ladd in <[EMAIL PROTECTED]>
>
> ---------------------------------------------------------------------
> 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