It was an explanation of why things work as the do.

The basic guidlines are:
Always use .equals() except for the base types (char, int, long, float,
double; not to confuse with the classes Float, Double etc).

The problem is, sometimes you have to remember to implement your own
equals().

(Hope you didn't mind I posted a copy to the list)

  Mattias Jiderhamn
  Expert Systems
  [EMAIL PROTECTED]


> -----Original Message-----
> From: Komaravolu Vasudha [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, December 20, 2001 9:28 AM
> To: '[EMAIL PROTECTED]'
> Subject: RE: .equals v.s. ==
>
>
> c ing all these now i am totally confused :(((((((((
>
> -----Original Message-----
> From: Mattias Jiderhamn [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, December 20, 2001 1:14 PM
> To: [EMAIL PROTECTED]
> Subject: Re: .equals v.s. ==
>
>
> At least for me, the quoted statement was even more confusing.
>
> As David said initially == is object comparison. That
> operator tests if
> both rhs and lhs (right/left hand side) referes to the exact same
> object. If you have any experience from C/C++ or any of the like, you
> know that the objects themselves reside in one memory space and the
> variable/name/alias you use is just a "pointer" containing the memory
> address of the object. If two variables (pointers) contain the same
> memory address, they are equal using the == operator. It is
> actually the
> memory addresses (such as 0x123456) that are compared.
> (Even if the naming conventions and more technical details may not be
> exactly the same for Java, the idea is the same).
>
> The .equals() method compares the "called" object (lhs) and the
> parameter (rhs). Since it is a method it can (and is supposed to be)
> overridden by subclasses. (In C++ you can override the == operator).
> For the Object class, equals test for object equality using ==. For
> other classes (which all are subclasses of Object) the equals may (or
> rather should) work in some other way, preferably comparing the DATA.
> For String, it works by comparing the strings themselves. Therefore if
> two different String objects, located on different places in memory,
> contain the same string represantation (the same data), they will be
> equal using .equals().
> For some other class, you might want to do some other kind of
> comparison
> when calling equals(). For a list or a set, you might want to see if
> they contain the same objects, maybe even in the same order.
>
> At least for me with C++ experience it helps a lot to think that ==
> compares memory addresses (pointers) and .equals() compares the data.
>
> Examples (assuming the compiler is not optimizing this, which
> is another
> issue):
> String s1 = "A String";
> String s2 = "A String";
>
> s1 == s2      FALSE
> S1.equals(s2) TRUE
>
>   Mattias Jiderhamn
>   Expert Systems
>   [EMAIL PROTECTED]
>
>
> > -----Original Message-----
> > From: David Nguyen [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, December 19, 2001 6:55 PM
> > Subject: Re: .equals v.s. ==
> >
> > More precisely, ".equals" is the IDENTITY testing
> > operator/method defined on
> > "String" objects (assuming "colors" is a String), and == is
> > the default
> > IDENTITY testing defined on java.lang.Objects.
>
> ==============================================================
> =============
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> JSP-INTEREST".
> For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
> DIGEST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

Reply via email to