Skip to main content
ICT
Lesson A15 - ArrayList
 
Main Previous Next
Title Page >  
Summary >  
Lesson A1 >  
Lesson A2 >  
Lesson A3 >  
Lesson A4 >  
Lesson A5 >  
Lesson A6 >  
Lesson A7 >  
Lesson A8 >  
Lesson A9 >  
Lesson A10 >  
Lesson A11 >  
Lesson A12 >  
Lesson A13 >  
Lesson A14 >  
Lesson A15 >  
Lesson A16 >  
Lesson A17 >  
Lesson A18 >  
Lesson A19 >  
Lesson A20 >  
Lesson A21 >  
Lesson A22 >  
Lesson AB23 >  
Lesson AB24 >  
Lesson AB25 >  
Lesson AB26 >  
Lesson AB27 >  
Lesson AB28 >  
Lesson AB29 >  
Lesson AB30 >  
Lesson AB31 >  
Lesson AB32 >  
Lesson AB33 >  
Vocabulary >  
 

D. The Wrapper Classes page 6 of 11

  1. Because numbers are not objects in Java, you cannot insert them directly into pre 1.5 ArrayLists. To store sequences of integers, floating-point numbers, or boolean values in a pre 1.5 ArrayList, you must use wrapper classes.
  1. The classes Integer, Double, and Boolean wrap primitive values inside objects. These wrapper objects can be stored in ArrayLists.

  2. The Double class is a typical number wrapper. There is a constructor that makes a Double object out of a double value:

    Double r = new Double(8.2057);

    Conversely, the doubleValue method retrieves the double value that is stored inside the Double object:

    double d = r.doubleValue();

  3. To add a primitive data type to a pre 1.5 ArrayList, you must first construct a wrapper object and then add the object. For example, the following code adds a floating-point number to an ArrayList:

    ArrayList grades = new ArrayList();
    double testScore = 93.45;
    Double wrapper = new Double(testScore);
    grades.add(wrapper);

    Or the shorthand version:

    grades.add(new Double(93.45));

    To retrieve the number, you need to cast the return value of the get method to Double, and then call the doubleValue method:

    wrapper = (Double)grades.get(0);
    testScore = wrapper.doubleValue();

    With Java 1.5, declare your ArrayList to only hold Doubles. With a new feature called auto-boxing in Java 1.5, when you define an ArrayList to contain a particular wrapper class, you can put the corresponding primitive value directly into the ArrayList without having to wrap it. You can also pull the primitive directly out.

    ArrayList grades2 <Double> = new ArrayList <Double>();
    grades2.add(93.45);
    System.out.println("Value is " + grades2.get(0));

 

Main Previous Next
Contact
 © ICT 2006, All Rights Reserved.