go to previous page   go to home page   go to next page hear noise highlighting

Say that itemA == itemB and that itemB == itemC. How many objects are there?

Answer:

Just one object (and three reference variables, each referring to it.)


The equals() Method

Two Objects with Equivalent Data

The equals( String ) method of class String tests if two Strings contain the same characters in the same sequence.

The equals( String ) method looks at objects. It detects equivalence.

The == operator detects identity. For example,


String strA;  // first object
String strB;  // second object
 
strA = new String( "The Gingham Dog" );   
strB = new String( "The Gingham Dog" );   

// check for equivalence using strA's method
if ( strA.equals( strB  )  ) 
  System.out.println( "This WILL print.");

// check for equivalence using strB's method
if ( strB.equals( strA  )  ) 
  System.out.println( "This WILL print, also.");

// check for identity
if ( strA  ==  strB ) 
  System.out.println( "This will NOT print.");

In this example, there are two objects. Each object has its own identity, and its own unique reference, so == returns false.

Each object contains equivalent data, so equals() returns true. Both strings have an equals() method. You can use either string's method.


QUESTION 22:

two photocopies

You make a photocopy of a sheet of paper containing a poem. You now have two sheets of paper.

  1. Are the sheets of paper separate objects?
  2. Is the first sheet == the second sheet?
  3. Is the poem on each sheet the same as on the other?
  4. Is the first sheet equals() to the second sheet?

go to previous page   go to home page   go to next page