[ 
https://issues.apache.org/jira/browse/LANG-360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540224
 ] 

Paul Benedict commented on LANG-360:
------------------------------------

Stephen says: "This method is meant to simulate the identity toString". Based 
on his words, I concur that passing a null object should throw an exception. 

Thus I recommend:
(1) return void to get rid of method chaining 
(2) throw an exception is StringBuffer is null
(3) throw an exception if Object is null

#3 makes most sense. There is no identity to a null object.


> Why does appendIdentityToString return null?
> --------------------------------------------
>
>                 Key: LANG-360
>                 URL: https://issues.apache.org/jira/browse/LANG-360
>             Project: Commons Lang
>          Issue Type: Bug
>            Reporter: Jörg Gottschling
>             Fix For: 2.4
>
>         Attachments: LANG-360.patch
>
>
> ObjectUtils is designed to handle null imputs gracefully. But 
> ObjectUtils.appendIdentityToString does not. It returns null unnessecary if 
> you pass null als second parameter (the object to get the identity from). For 
> example appendIdentityToString(new StringBuffer(), null) will return null! 
> Which is an uncommen behaviour. Think about code like this:
> ObjectUtils.appendIdentityToString(buffer, param1)
>                     .appendIdentityToString(buffer, param2)
>                     .appendIdentityToString(buffer, param3);
> This will cause an NPE if param1 or param2 ist null. There may be other code 
> where a NPE will not happen, but the code is used for debugging and there 
> will be an unexpected or wrong output.
> So you shoul return the StringBuffer which is passed in or a new one if null. 
> The harder question is what to do with the object. I think we should append 
> "null" to the StringBuffer, because this is what I would expect and what the 
> passed reference is.

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

Reply via email to