Array Reflection: create instance : Array Reflection « Reflection « Java






Array Reflection: create instance

Array Reflection: create instance
   
/* From http://java.sun.com/docs/books/tutorial/index.html */

/*
 * Copyright (c) 1995-1998 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for NON-COMMERCIAL purposes and without fee is hereby granted
 * provided that this copyright notice appears in all copies. Please refer to
 * the file "copyright.html" for further important copyright and licensing
 * information.
 * 
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
 * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES.
 */

import java.lang.reflect.Array;

public class SampleCreateArrayReflection {

  public static void main(String[] args) {
    int[] originalArray = { 55, 66 };
    int[] biggerArray = (int[]) doubleArray(originalArray);
    System.out.println("originalArray:");
    for (int k = 0; k < Array.getLength(originalArray); k++)
      System.out.println(originalArray[k]);
    System.out.println("biggerArray:");
    for (int k = 0; k < Array.getLength(biggerArray); k++)
      System.out.println(biggerArray[k]);
  }

  static Object doubleArray(Object source) {
    int sourceLength = Array.getLength(source);
    Class arrayClass = source.getClass();
    Class componentClass = arrayClass.getComponentType();
    Object result = Array.newInstance(componentClass, sourceLength * 2);
    System.arraycopy(source, 0, result, 0, sourceLength);
    return result;
  }
}


           
         
    
    
  








Related examples in the same category

1.Creating an Array: An array of 10 ints.
2.Creating an Array: An array of 10 int-arrays.
3.Creating an Array: A 10x20 2-dimensional int array.
4.Getting and Setting the Value of an Element in an Array Object
5.Array Reflection: name and typeArray Reflection: name and type
6.Array Reflection: getComponentType()Array Reflection: getComponentType()
7.Array Reflection: get lengthArray Reflection: get length
8.Array Reflection: Multi Array Reflection
9.Using reflection to check array type and length
10.Using reflection to create, fill, and display an array
11.Getting the Length and Dimensions of an Array Object
12.Determining If an Object Is an Array
13.Getting the Component Type of an Array Object
14.Check if the given object is an array (primitve or native).
15.return an Object array for the given object.
16.This program demonstrates the use of reflection for manipulating arraysThis program demonstrates the use of reflection for manipulating arrays