Java反射—Array类的使用

本文介绍了Java反射中的Array类,用于动态创建和访问Java数组。重点讨论了`Arrays.copyOf`方法在扩展数组大小中的作用,并通过示例展示了如何使用反射避免类型转换异常,实现安全的数组扩展。同时,提到了Array类提供的访问数组内对象的方法。
摘要由CSDN通过智能技术生成

不用说大家也知道java.lang.Array是对Java反射包中数组操作的一个类。JavaSE8的文档中对Array的描述是这样说的:

The Array class provides static methods to dynamically create and access Java arrays.

Array类提供静态方法来动态创建和访问Java数组。访问不难理解,动态创建可以细看一下。

让我们先看看java.util.Arrays

  • 注意是Arrays,相信有些小伙伴已经用过很多次这个工具类了,提供了很多对数组操作的方法方便我们使用。

  • 上面说了java.lang.Array是提供给我们静态方法来动态创建和访问数组。让我们来看看Arrays中的copyOf方式是怎么来动态操作数组的吧。

public static <T> T[] copyOf(T[] original, int newLength) {
    return (T[]) copyOf(original, newLength, original.getClass());
}

copyOf是拿来干嘛的呢?Arrays主要提供这个方法来给已经填满的数组来拓展数组大小的。

你可以这样用

User[] users = new User[10];
...//假如满了,给数组长度翻倍。
users = Arrays.copyOf(users, users.length * 2);

不知道大家有没有注意到,这个方法是个泛型的返回结果。它的第一个参数是原始数组,第二个参数为新的长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值