The JavaTM Tutorial
Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form

Trail: The Reflection API
Lesson: Working with Arrays

Retrieving Component Types

The component type is the type of an array's elements. For example, the component type of the arrowKeys array in the following line of code is Button:
Button[] arrowKeys = new Button[4];
The component type of a multidimensional array is an array. In the next line of code, the component type of the array named matrix is int[]:
int[][] matrix = new int[100][100];
By invoking the getComponentType method against the Class object that represents an array, you can retrieve the component type of the array's elements.

The sample program that follows invokes the getComponentType method and prints out the class name of each array's component type.

import java.lang.reflect.*;
import java.awt.*;

class SampleComponent {

   public static void main(String[] args) {
      int[] ints = new int[2];
      Button[]  buttons = new Button[6];
      String[][] twoDim = new String[4][5];

      printComponentType(ints);
      printComponentType(buttons);
      printComponentType(twoDim);
   }

   static void printComponentType(Object array) {
      Class arrayClass = array.getClass();
      String arrayName = arrayClass.getName();
      Class componentClass = arrayClass.getComponentType();
      String componentName = componentClass.getName();
      System.out.println("Array: " + arrayName + 
         ", Component: " + componentName);
   }
}

The output of the sample program is:
Array: [I, Component: int
Array: [Ljava.awt.Button;, Component: java.awt.Button
Array: [[Ljava.lang.String;, Component: [Ljava.lang.String;

Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form