`

利用反射对数组进行操作

    博客分类:
  • java
阅读更多
import java.lang.reflect.Array;

public class TestArray {
	public static void main(String[] args) {
		String [] strs = new String[]{"c","p","x"};
		//如果此类是数组,则返回表示此类组件类型的 Class
		Class<?> st = strs.getClass().getComponentType();
		//打印数组的定义类型
		System.out.println("数组类型:"+st.getName());
		//数组的长度
		System.out.println("数组的长度:"+Array.getLength(strs));
		//指定位置索引数组值
		System.out.println(Array.get(strs, 2));
		//重新设置指定索引处元素的值
		Array.set(strs, 2, "xx");
		System.out.println(Array.get(strs, 2));
		System.out.println("------------------------");
		
		//构建新的数组
		int [] ints = new int[]{1,2,3};
		Class<?> intarray = ints.getClass().getComponentType();
		//构建和intarray同类型的数组,第二个为数组的长度
		int[] newArray = (int[]) Array.newInstance(intarray,5);
		/*
		 *数组的copy,第一个参数为源数组,第二个为从源数组第几个
		 *元素开始copy,第三个参数为目标数组,第四个参数为目标数组起始位置,
		 *第五个参数为结束位置
		 */
		System.arraycopy(ints, 0, newArray, 0,Array.getLength(ints));
		Class<?> newints = newArray.getClass().getComponentType();
		//打印新数组
		int length = Array.getLength(newArray);
		for(int i =0;i<length;i++){
			System.out.println(Array.get(newArray, i));
		}
	}
	
}
0
0
分享到:
评论

相关推荐

    利用反射获取DLL或EXE文件的内部信息。

    利用反射,开发者可以动态地创建对象、调用方法、访问字段,甚至在不预先知道类型的情况下执行操作。下面我们将深入探讨如何利用反射获取DLL或EXE文件的内部信息。 首先,我们需要了解什么是程序集。在.NET中,程序...

    Java使用反射操作数组示例

    通过本文所提供的示例,我们可以了解到如何利用反射来创建和操作数组。这些技术在需要动态构建对象或处理未知数据结构时非常有用,但也应当注意到使用反射可能带来的性能问题,并在可能的情况下寻找其他替代方案来...

    利用java反射技术实现动态搜索所有字段

    在"利用Java反射技术实现动态搜索所有字段"这个主题中,我们将深入探讨如何使用Java反射API来查找并操作类的所有字段。以下是一些关键知识点: 1. **反射基础**:反射始于`java.lang.Class`类,它是所有Java类的...

    android 使用反射机制操作数据库 插入 查询

    我们可以传入查询条件,利用反射获取条件字段的名称,然后拼接成WHERE子句。接着,通过`SQLiteDatabase`的`query()`方法执行查询,得到`Cursor`对象。遍历`Cursor`,我们可以反向使用反射,通过字段名获取结果集中的...

    java反射经典实例

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在本“Java反射经典实例”中,我们将深入探讨这个主题,了解如何利用反射来访问和修改私有属性以及...

    java反射机制工具类

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

    C# 反射技术 动态加载dll的demo.rar

    本文将深入探讨如何利用反射技术动态加载DLL文件,以及这一过程中的关键知识点。 首先,我们要了解什么是DLL。DLL(Dynamic Link Library)是Windows操作系统中的一个共享库,包含了一组可执行代码和数据,可供多个...

    java反射机制详解

    5. **生成动态代理**:利用反射机制可以实现动态代理,这在AOP(面向切面编程)中非常常见。 #### 三、反射机制的相关API 反射机制涉及到的主要API包括: - `java.lang.Class`: 表示类或接口的运行时表示。 - `...

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

    - **测试工具**:JUnit等测试框架利用反射访问私有成员进行测试。 - **序列化与反序列化**:Java的序列化机制中,反射用于将对象转换为字节流和恢复。 9. **反射API的使用注意事项** - 必须处理`...

    JAVA中的反射机制(内含大量实例)及循环删除文件夹.pdf

    6. **处理数组**:反射也支持对数组的操作,包括创建数组、获取数组长度、设置和获取数组元素。 尽管反射带来了极大的灵活性,但也存在性能问题,因为反射操作通常比直接调用方法和访问属性要慢。此外,反射可能...

    为了高效地将Json对象转化成Java bean对象,传统上我们是在运行是利用反射来实现.zip

    4. **设置Bean属性**:遍历JSON对象的所有键值对,利用反射的`set()`方法,找到对应的setter方法并设置值。这需要确保JSON键与Java Bean的属性名匹配,或者使用注解来指定映射关系。 5. **处理嵌套结构**:如果JSON...

    简单的反射例子

    在探讨“简单的反射例子”这一主题时,我们深入解析了反射在C#中的应用,以及如何利用反射来访问和操作对象的属性。反射是.NET框架中的一个强大特性,它允许程序在运行时检查和调用类型的信息,包括类型、方法、属性...

    候捷谈Java反射机制

    2. 框架和库的实现:许多框架如Spring、Hibernate利用反射来实现依赖注入和元数据驱动的编程。 3. 测试工具:JUnit等测试框架使用反射来访问私有方法或字段,以便进行单元测试。 4. 通用代码:反射可以帮助编写通用...

    通过反射获得实体类的字段和值

    它提供了对程序集、模块、类型、方法、属性、事件、字段等进行查询和操作的能力。在.NET中,反射主要由System.Reflection命名空间下的类提供支持。 ### 通过反射获取实体类的字段和值 #### 1. 获取实体类的所有...

    把实体类数组转换为DataTable

    然而,反射操作可能对性能有一定的影响,特别是在处理大量数据时。如果性能是一个关键因素,可以考虑预先编译表达式树或者使用动态方法来提高效率。 总结一下,将实体类数组转换为`DataTable`涉及到的知识点包括: ...

    计算多层膜结构的透射率,多层膜反射率计算,matlab

    因此,MATLAB中的循环或数组操作可以帮助我们快速评估不同波长下的性能。此外,多层膜的稳定性、制备工艺等因素也需考虑,这可能涉及到对模型的进一步扩展和复杂化。 总的来说,理解并掌握如何使用MATLAB计算多层膜...

    java反射机制PPT

    - **框架设计**:许多框架如Spring、Hibernate等,利用反射来实现依赖注入和数据库操作。 - **动态代理**:Java的动态代理机制允许在运行时创建一个代理类,该代理类能代理目标类的方法调用,通常用于实现AOP(面向...

    C#2.0中通过反射功能给类赋值

    在本案例中,我们将探讨如何利用反射功能在C# 2.0中给类的属性赋值,特别是在处理数据库读取结果时,可以极大地提高代码的可维护性和效率。 首先,让我们理解一下反射的基本概念。在.NET框架中,`System.Reflection...

Global site tag (gtag.js) - Google Analytics