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

Answer:

Yes. The method combines several steps into one statement.


Test Program

These ideas might be confusing. Here is a program that shows how how the pieces fit together. Copy this program to a file, compile it, and run it:

import java.util.* ;

class Entry
{
  private String name;
  private String number;

  // constructor
  public Entry( String n, String num )
  {
    name = n; number = num;
  }

  // methods
  public String getName()
  {
    return name ;
  }

  public String getNumber()
  {
    return number ;
  }

  public boolean equals( Object other )
  {
    return getName().equals( ((Entry)other).getName() );
  }

  public String toString()
  {
    return "Name: " + getName() + "; Number: " + getNumber() ;
  }
 
}

public class PhoneBookTest
{
  public static void main ( String[] args)
  {
    ArrayList<Entry> phone = new ArrayList<Entry>();

    phone.add( new Entry( "Amy", "123-4567") );
    phone.add( new Entry( "Bob", "123-6780") );
    phone.add( new Entry( "Hal", "789-1234") );
    phone.add( new Entry( "Deb", "789-4457") );
    phone.add( new Entry( "Zoe", "446-0210") );

    // Look for Hal in phone. The indexOf() method uses the
    // equals(Object) method of each object in the list.
    
    Entry target = new Entry( "Hal", null );
    
    int spot = phone.indexOf( target ) ;

    System.out.println( "indexOf returns: " + spot ) ;
  }
}

phone is a list of Entry references. The program searches that list for "Hal" .

It does so by creating a target Entry with "Hal" for the name, but null for the phone number. Then the indexOf() method of phone looks for a match.

The indexOf() method uses equals() to compare successive objects in the list with the target object. Because equals() looks only at the name of the two entries, the null in the target object does not matter.


QUESTION 26:

What will the program write?


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