`

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

 
阅读更多
使用 Array.newInstance(kind, size);可以按照指定类型和长度,创建一个指定类型的数组
对于在泛型中创建数组,使用 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;
分享到:
评论

相关推荐

    asp.net c# 数组学习

    在C#编程语言中,数组是一种特殊的类型,用于存储同种数据类型的多个元素。数组具有固定大小,并且可以通过索引来访问这些元素。在C#中,数组的索引是从0开始的,这意味着一个包含n个元素的数组的索引范围是0到n-1。...

    政史地数组类型与指针类型PPT学习教案.pptx

    例如,在处理班级100个人的数学成绩时,可以创建一个整型数组来存储这些成绩。数组由若干个元素组成,每个元素都有相同的类型。数组可以是一维、二维或多维的,这里的"一维数组"指的是只有一层的数组,类似于线性的...

    数组和一些常用例题....

    数组的概念简单来说就是存储同种数据类型元素的集合,可以视为一个容器。数组可以容纳基本数据类型(如int、double等)的值,同时也可以存储引用数据类型,即对象的引用。 在Java中,定义数组的格式如下: ```java ...

    NumPy-快速处理数据

    ndarray能够存储同种数据类型的多维数组,而ufunc则是一些能够对ndarray进行各种数学运算的函数。在标准的Python安装中,我们可以使用列表(list)来存储一组值,但列表的灵活性同时也带来了一些效率问题。因为列表的...

    matlab基础编程:3 精通matlab单元数组和结构体深入学习.zip

    单元数组在MATLAB中是一种特殊的数据结构,它允许在一个数组中存储不同类型的元素,如数字、字符串、向量甚至是其他数组。这种灵活性使得单元数组成为处理混合数据类型时的理想选择。创建单元数组可以通过将不同类型...

    Java学习随笔4(数组)

    Java中的数组是一种基础且重要的数据结构,用于存储同种数据类型的多个值。数组提供了一种高效的方式来管理和操作一组数据,可以是整数、浮点数、字符或自定义对象。在Java中,数组的定义有两种格式: 1. `数据类型...

    NumPy的详细教程

    NumPy 详细教程 NumPy 是一个 Python 包,代表 “Numeric Python”。它是一个由多维数组对象和用于...NumPy 是一个强大的工具库,提供了多种方式来创建和处理数组,它广泛应用于科学计算、数据分析、机器学习等领域。

    怎样用Jvm处理Java数组.doc

    数组在内存中的表示方式是连续的一块内存区域,其中包含了数组元素的实际值以及一个隐藏的长度字段。这个长度字段被直接存储在数组对象头中,因此访问数组长度的操作非常快速,可以直接读取,无需调用方法。 而`...

    numpy中文文档

    数组中的所有元素都具有相同的类型,并且可以通过一个正整数元组进行索引。 - **轴(Axes)**: 在 NumPy 中,维度被称为“轴”。例如,一个二维数组拥有两个轴。 - **秩(Rank)**: 轴的数量称为数组的“秩”。例如...

    Numpy.pdf

    Numpy的基石是ndarray,它是一种能够存储同种类型数据的多维数组。不同于Python的列表,ndarray的元素在内存中是连续存储的,这使得对数组的访问和操作更为快速。ndarray以0为下标开始索引,支持多维数组。此外,...

    熊猫变身后的多种形态:Pandas数据结构.pptx

    Series 是一种一维标签数组,大小不可变,由同种数据类型元素组成。它可以容纳任何类型的数据,包括整数、字符串、浮点数以及 Python 对象等。Series 的构造函数可以使用 ndarray、list、constants 等多种方式来创建...

    Python数据科学速查表 - Numpy 基础

    Numpy是Python编程语言中的一个核心库,专为处理大型多维数组和矩阵设计,广泛应用于数据科学、机器学习和科学计算等领域。本速查表主要涵盖了Numpy的基础知识,帮助用户快速理解和应用Numpy的功能。 一、Numpy数组...

    Java的数据结构

    这段代码展示了如何创建并初始化一个包含5个元素的整型数组,然后反向打印数组元素。 #### Java集合框架:面向对象的数据结构 Java集合框架提供了丰富的数据结构,用于处理更加复杂的业务场景,主要包括: - **...

    簇(labview系列教程之八).doc

    它允许不同数据类型的元素组合在一起,这不同于数组只允许同种数据类型。 - 簇的主要作用是分组相关数据,减少连线混乱,简化框图设计。 2. **簇与数组的区别** - 簇可以包含不同类型的数据,而数组则只能包含...

    完整版Java全套入门培训课件 Java基础 02-Java基础语法2(共15页).pptx

    **数组**是同种类型数据的集合,它提供了一种存储和管理多个数据的方式。数组的定义包括指定元素类型和数组长度。有两种定义方式: 1. 类型[] 数组名 = new 类型[长度]; 2. 类型[] 数组名 = {元素1, 元素2, ...}; ...

    java基础方法讲解

    数组是存储同种数据类型的多个元素的容器。每个元素都有从0开始的索引,最大索引是数组长度减1。数组的定义有两种格式,推荐使用数据类型后面跟方括号的方式。初始化数组可以是动态初始化(只给长度,系统自动赋...

    你必须知道的495各C语言的问题

    4. typedef关键字:typedef用来为数据类型创建一个新的名字。它不仅可以简化复杂的类型声明,还可以提高代码的可读性。例如,在结构体声明中使用typedef可以创建一个新的类型名称,从而避免在定义结构体变量时重复写...

    knapsack管理系统基于python (37).zip

    6. **用户界面**:如果这个“管理系统”具有用户交互功能,那么可能使用了Python的GUI库,如Tkinter或PyQt,来创建一个图形化界面,让用户输入数据并显示结果。 7. **测试和调试**:为了确保代码的正确性,开发者...

    2021-2022计算机二级等级考试试题及答案No.3779.docx

    8. VisualFoxPro数组:在VisualFoxPro中,可以定义一维和二维数组,数组元素可以是同种数据类型,但并不限定所有元素必须是同一种类型,因此选项C是错误的。 9. Java数据类型:Java的复合数据类型包括类、数组和...

    基于PHP会话对象的小型购物篮的设计.pdf

    2. **创建新的购物篮**:当用户首次选择商品时,通过`Session-register()`函数定义Session变量,创建一个新的购物篮。例如,可以创建四个数组来存储商品的名称、数量、金额和ID。这些数组在Session中注册,以便后续...

Global site tag (gtag.js) - Google Analytics