You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2007/10/11 02:45:56 UTC

[jira] Commented: (LANG-353) Javadoc Example for EqualsBuilder is questionable

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

Gary Gregory commented on LANG-353:
-----------------------------------

Not to get stuck on the details here, but Enums /are/ different from Classes, and have been made such in Jaav 5. I think of the [lang] enums useful if you cannot use Java 5 enums. I would say that enum elements must be equal across class loaders, otherwise, many an application will have some very odd results. Just imagine, as a simple example, the following (I use the Java 5 notation for brevity):

public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }

CLUBS from one class loader is not the same as... CLUBS from another class loader? Havok in poker-land! ;-)


> Javadoc Example for EqualsBuilder is questionable
> -------------------------------------------------
>
>                 Key: LANG-353
>                 URL: https://issues.apache.org/jira/browse/LANG-353
>             Project: Commons Lang
>          Issue Type: Bug
>            Reporter: Christoph Kutzinski
>            Priority: Minor
>             Fix For: 2.4
>
>
> The Javadoc example for the class EqualsBuilder ist questionable:
>  public boolean equals(Object obj) {
>    if (obj instanceof MyClass == false) {
>      return false;
>    }
>   ...
> The implementation with instanceof lacks guarantees like equals-symmetry  (see e.g. http://www.agiledeveloper.com/articles/equals062002.htm  for a discussion of the issue)
> The example should be changed to use getClass(). Attention: the solution in the link above is incomplete as it doesn't check for null

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