`
348725767
  • 浏览: 105671 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

java反射动态改变数组长度

阅读更多

最近正在看java核心技术,以前看过的,但基本上是大概浏览,并没有深入地去了解细节,只是学学语法,难的基本上是跳过去的。现在开始重新看了,希望系统地看一遍。看到反射时,书上用反射实现了数组动态增加长度,mark一下,供以后自己学习参考。实现如下:

 

 

/**
	 * 扩大数组长度10%+10
	 * @param a 数组
	 * @return 扩充的数组
	 */
	public static Object ArrayGrow(Object a)
	{
		Class class1=a.getClass();
		if(!class1.isArray())
			return null;
		Class componentType=class1.getComponentType();
		int length=Array.getLength(a);
		int newLength=length*11/10+10;
		Object newObj=Array.newInstance(componentType, newLength);
		System.arraycopy(a, 0, newObj, 0, length);
		return newObj;
	}
分享到:
评论

相关推荐

    java 反射中操作数组

    在进行这些操作时,需要注意的是,如果数组长度不改变,直接操作原有的数组对象,可能会导致数据覆盖或越界问题。因此,如果需要修改数组长度,必须先创建一个新的数组对象。此外,由于反射操作涉及安全性,直接修改...

    利用反射实现的数组增长的小程序

    学习反射的时候学到的一点东东。 ­ 用到的知识点: java.lang.reflect.Array ­ List 集合 内部的实现就是这样的。如果下面的新数组的长度增长原来的一倍,就是Vector集合了。

    java反射机制学习(四):通过反射执行方法、操作属性、操作数组中的数据

    Java反射机制是Java编程语言中一个强大的特性,它允许运行时动态地获取类的信息并进行操作,如创建对象、调用方法、访问属性以及处理数组等。在本篇讲解中,我们将深入理解如何通过反射来执行方法、操作属性以及处理...

    java反射-英文版反射规范

    - Java反射能够创建和操作数组,无论数组元素是什么类型。 - 可以创建一维或多维数组,并通过反射获取数组的长度和元素。 ##### 2. **修饰符类** - 通过反射可以获取到字段、方法或构造器的访问权限修饰符。 - ...

    java--数组.txt

    Java数组的最大长度受到虚拟机限制,理论上最大长度为`Integer.MAX_VALUE`(即2147483647),这是因为数组长度是由`int`类型表示的。实际应用中,由于内存限制,通常无法达到这个理论上的最大值。 #### 总结 通过...

    怎样用Jvm处理Java数组.doc

    本文将围绕Java数组的一些核心概念展开讨论,特别是关于数组长度的获取方式及其背后的设计理念。 #### 数组的长度获取方式 Java中存在两种获取长度的方式:对于数组,使用`.length`(成员变量);而对于`String`等...

    java反射经典实例

    - 反射还可以用来处理数组,包括创建数组、获取数组长度、设置和获取数组元素等。 - 例如创建一个Integer类型的数组: ```java Class<?> arrayClass = Array.newInstance(Integer.class, 10).getClass(); ``` ...

    JAVA 反射机制与动态代理ppt

    总的来说,Java反射机制和动态代理是Java平台强大而灵活的特性,它们使得Java程序能够在运行时具有更高的灵活性和可扩展性。然而,使用反射也可能带来性能开销和安全风险,因此在实际应用中需要权衡利弊,合理使用。

    Java反射机制2

    在“Java反射机制2”这个主题中,我们将深入探讨数组与Object的关系、成员方法的反射、成员变量的反射以及数组的反射应用。 1. 数组与Object的关系及其反射类型: 在Java中,所有数组都继承自Object类,这意味着...

    Java反射常用机制

    7. **数组操作**:反射也支持对数组的操作,包括创建数组、获取数组长度以及通过索引访问和修改数组元素。 8. **注解处理**:反射可以用来检查类、方法、字段是否携带特定的注解,以及获取注解的值,这对于元编程和...

    java反射机制工具类

    4. 处理数组:反射提供API来创建和操作数组,包括获取数组长度、遍历数组元素等。 5. 执行注解处理:反射可以用于检测类、方法或字段上的注解,并根据注解执行相应的逻辑。 `BeanHelper.java`可能是一个工具类,...

    java反射机制详解

    ### Java反射机制详解 #### 一、反射机制是什么 反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地获取类的信息,并且能够动态地创建对象和调用对象的方法。简单来说,反射机制使得Java程序可以...

    java反射........

    Java反射是Java编程语言中的一个强大特性,它允许程序在运行时检查类、接口、字段和方法的信息,甚至能够在运行时动态地创建对象并调用其方法。这一特性基于Java的`java.lang.reflect`包,提供了对类和对象深层次...

    JAVA反射详解

    - 创建数组,其长度和元素类型直到运行时才确定,并修改数组元素。 然而,应当注意的是,反射API的使用应谨慎。尽管反射API提供了一种灵活的方式来处理类和对象,但在性能和安全性方面存在潜在问题。因此,只有在...

    java反射小例子

    Java反射是Java编程语言中的一个强大特性,它允许运行中的程序动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包中的类,如`Constructor`、`Method`和`Field`...

    Java数组练习题(带答案).doc

    动态数组则可以通过数组长度的变化来适应不同的需求。 在处理数组时,我们也要注意数组相关的异常。如前所述,数组越界异常是最常见的异常之一,合理地处理这些异常是编写健壮代码的必要步骤。 除了常规操作之外,...

    java中的反射机制(内含大量实例)

    - 反射机制支持对数组的操作,如创建数组,获取数组长度,以及通过索引访问数组元素。 7. **安全与性能** - **安全性**:反射操作可能破坏封装性,因此可能引入安全隐患,应谨慎使用。 - **性能**:反射比直接...

    Java-反射笔记.pdf

    反射还可以操作数组,如创建数组、获取数组长度、设置和获取数组元素等。 七、异常处理 在使用反射时,常见的异常有`ClassNotFoundException`、`IllegalAccessException`、`InstantiationException`和`...

Global site tag (gtag.js) - Google Analytics