论坛首页 编程语言技术论坛

创建一个同种类型数据的数组

浏览 1143 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-08  
使用 Array.newInstance(kind, size)可以按照指定类型和长度,创建一个指定类型的数组
package com.liuc.test.think.chapter15;

import java.lang.reflect.Array;
import java.util.Arrays;

public class ArrayMaker<T> {
	private Class<T> kind;
	
	public ArrayMaker(Class<T> kind) {
		super();
		this.kind = kind;
	}
	
	@SuppressWarnings("unchecked")
	T[] create(int size){
		return (T[]) Array.newInstance(kind, size);
	}


	public static void main(String[] args) {
		ArrayMaker<String> stringMaker=new ArrayMaker<String>(String.class);
		String[] stringArray=stringMaker.create(9);
		System.out.println(Arrays.toString(stringArray));

	}

}



查看java源代码这是一个native方法,即是使用C或者C++实现的,速度相对也会很快
public static Object newInstance(Class<?> componentType, int length)
	throws NegativeArraySizeException {
	return newArray(componentType, length);
    }
    private static native Object newArray(Class componentType, int length)
	throws NegativeArraySizeException;
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics