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

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.

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. 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 data on each sheet the same as on the other?
  4. Is the first sheet equals() to the second sheet?