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

Answer:

No.

The non-empty cells of an ArrayList must contain object references (or null).


Wrapper Classes

To put an int into an ArrayList use the Integer wrapper class and autoboxing. (See chapter 11 for a discussion of autoboxing.) Now the object can be put into an ArrayList. The following program builds a list of integers and then writes them out.

ArrayList of four Integers
import java.util.* ;
public class WrapperExample
{
  public static void main ( String[] args)
  {
    ArrayList<Integer> data = new ArrayList<Integer>();

    data.add( 1 );  // add an Integer object containing 1
    data.add( 3 );
    data.add( 17 );
    data.add( 29 );

    for ( Integer val : data )
      System.out.print( val + " " );

    System.out.println( );
  }
}

It looks as if the int 1 is directly added to the list. But this is NOT what happens.

The statement data.add( 1 ) first creates an Integer object by using autoboxing. Then the reference to that object is added to the list at index 0.

The program writes out:

1 3 17 29

The picture shows that the ArrayList contains an array of object references, as always. It shows the ints each contained in a little box that represents the wrapper object.


QUESTION 19:

Would this statement work in the program?

data.add( new Integer(1) );

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