Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #17568 > unrolled thread

default equals function?

Started bybob smith <bob@coolfone.comze.com>
First post2012-08-09 14:58 -0700
Last post2012-08-10 13:43 -0400
Articles 7 — 5 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  default equals function? bob smith <bob@coolfone.comze.com> - 2012-08-09 14:58 -0700
    Re: default equals function? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-09 18:11 -0400
      Re: default equals function? bob smith <bob@coolfone.comze.com> - 2012-08-10 07:12 -0700
        Re: default equals function? rossum <rossum48@coldmail.com> - 2012-08-10 16:47 +0100
        Re: default equals function? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-10 12:29 -0400
    Re: default equals function? Jeff Higgins <jeff@invalid.invalid> - 2012-08-09 18:22 -0400
      Re: default equals function? Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 13:43 -0400

#17568 — default equals function?

Frombob smith <bob@coolfone.comze.com>
Date2012-08-09 14:58 -0700
Subjectdefault equals function?
Message-ID<c1faab3a-8c4d-4a3b-a403-c9d0381deab5@googlegroups.com>
Let's say I have a class like this:

public class Kern_Pair {
	int letter1, letter2;

}

Can someone tell me how the default equals function will behave?

like 

kernpair1.equals(kernpair2)    

?

[toc] | [next] | [standalone]


#17569

FromEric Sosman <esosman@ieee-dot-org.invalid>
Date2012-08-09 18:11 -0400
Message-ID<k01chv$jh8$1@dont-email.me>
In reply to#17568
On 8/9/2012 5:58 PM, bob smith wrote:
> Let's say I have a class like this:
>
> public class Kern_Pair {
> 	int letter1, letter2;
>
> }
>
> Can someone tell me how the default equals function will behave?
>
> like
>
> kernpair1.equals(kernpair2)
>
> ?

     Teachable Moment.

     The Kern_Pair class has no equals() method of its own, so it
inherits equals() from the nearest superclass that has one.  Walk
up the class inheritance tree to find the nearest ancestor with an
equals().  The class inheritance tree for Kern_Pair is fairly short:
Its immediate superclass is Object (because you didn't say "extends
SomethingElse"), so the equals() method for Kern_Pair *is* the
equals() method of Object.

     Now all you need to do is go to the Javadoc and study what
Object's equals() will do.

-- 
Eric Sosman
esosman@ieee-dot-org.invalid

[toc] | [prev] | [next] | [standalone]


#17574

Frombob smith <bob@coolfone.comze.com>
Date2012-08-10 07:12 -0700
Message-ID<6d0a5330-56a8-4fe9-b820-c1931c54485d@googlegroups.com>
In reply to#17569
On Thursday, August 9, 2012 5:11:07 PM UTC-5, Eric Sosman wrote:
> On 8/9/2012 5:58 PM, bob smith wrote:
> 
> > Let's say I have a class like this:
> 
> >
> 
> > public class Kern_Pair {
> 
> > 	int letter1, letter2;
> 
> >
> 
> > }
> 
> >
> 
> > Can someone tell me how the default equals function will behave?
> 
> >
> 
> > like
> 
> >
> 
> > kernpair1.equals(kernpair2)
> 
> >
> 
> > ?
> 
> 
> 
>      Teachable Moment.
> 
> 
> 
>      The Kern_Pair class has no equals() method of its own, so it
> 
> inherits equals() from the nearest superclass that has one.  Walk
> 
> up the class inheritance tree to find the nearest ancestor with an
> 
> equals().  The class inheritance tree for Kern_Pair is fairly short:
> 
> Its immediate superclass is Object (because you didn't say "extends
> 
> SomethingElse"), so the equals() method for Kern_Pair *is* the
> 
> equals() method of Object.
> 
> 
> 
>      Now all you need to do is go to the Javadoc and study what
> 
> Object's equals() will do.
> 
> 
> 
> -- 
> 
> Eric Sosman
> 
> esosman@ieee-dot-org.invalid

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

[toc] | [prev] | [next] | [standalone]


#17575

Fromrossum <rossum48@coldmail.com>
Date2012-08-10 16:47 +0100
Message-ID<a3ba28p32j9021on0sd704ptdbu87s5k40@4ax.com>
In reply to#17574
On Fri, 10 Aug 2012 07:12:06 -0700 (PDT), bob smith
<bob@coolfone.comze.com> wrote:

>The equals method for class Object implements the most discriminating 
>possible equivalence relation on objects; that is, for any non-null 
>reference values x and y, this method returns true if and only if 
>x and y refer to the same object (x == y has the value true).
Correct.  What do you think that means in practice for your Kern_Pair
class?

As a minor point, the Java naming convention does not have underscores
in class names: KernPair would be the expected name.  Kern_Pair looks
more like C++ than Java.

rossum

[toc] | [prev] | [next] | [standalone]


#17579

FromEric Sosman <esosman@ieee-dot-org.invalid>
Date2012-08-10 12:29 -0400
Message-ID<k03ctm$vfa$1@dont-email.me>
In reply to#17574
On 8/10/2012 10:12 AM, bob smith wrote:
> On Thursday, August 9, 2012 5:11:07 PM UTC-5, Eric Sosman wrote:
>> On 8/9/2012 5:58 PM, bob smith wrote:
>>> [...]
>>> Can someone tell me how the default equals function will behave?
>>  [...]
>>       Now all you need to do is go to the Javadoc and study what
>> Object's equals() will do.
>
> The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

     ... and there you have it.  Any questions?

-- 
Eric Sosman
esosman@ieee-dot-org.invalid

[toc] | [prev] | [next] | [standalone]


#17570

FromJeff Higgins <jeff@invalid.invalid>
Date2012-08-09 18:22 -0400
Message-ID<k01d1c$m32$1@dont-email.me>
In reply to#17568
On 08/09/2012 05:58 PM, bob smith wrote:
> Let's say I have a class like this:
>
> public class Kern_Pair {
> 	int letter1, letter2;
>
> }
>
> Can someone tell me how the default equals function will behave?
>
> like
>
> kernpair1.equals(kernpair2)
>
> ?
<http://docs.oracle.com/javase/tutorial/java/IandI/objectclass.html>
Here is a convenient dashboard to the Oracle Java documentation.
<http://docs.oracle.com/javase/7/docs/>
You may replace the 7 in the above address with a 3, 4, 5 or 6
to see older versions documentation.

[toc] | [prev] | [next] | [standalone]


#17585

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-08-10 13:43 -0400
Message-ID<5025484c$0$287$14726298@news.sunsite.dk>
In reply to#17570
On 8/9/2012 6:22 PM, Jeff Higgins wrote:
> Here is a convenient dashboard to the Oracle Java documentation.
> <http://docs.oracle.com/javase/7/docs/>
> You may replace the 7 in the above address with a 3, 4, 5 or 6
> to see older versions documentation.

And surprising that works (via redirect).

Surprisingly because Java SE 3 and 4 are J2SE 1.3 and 1.4!

Someone at Oracle has been smart.

Arne

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web