首页 > 其他分享 >使用反射拷贝数组

使用反射拷贝数组

时间:2023-03-11 17:44:47浏览次数:41  
标签:反射 obj newLength int Object newArray 数组 拷贝

    public static void main(String[] args) {         int[] arr = {1,2,3};         int[] obj = (int[])goodCopyOf(arr, 1);         System.out.println(Arrays.toString(obj));
    }     //使用反射创建泛型数组拷贝方法     //Array.newInstance(getClass(), length)     public static Object goodCopyOf(Object obj,int newLength){         Class componentType = obj.getClass().getComponentType();         Object newArray = Array.newInstance(componentType, newLength);         int length = Array.getLength(obj);         //拷贝数量         System.arraycopy(obj, 0, newArray, 0, Math.min(length, newLength));         return newArray;     }

标签:反射,obj,newLength,int,Object,newArray,数组,拷贝
From: https://www.cnblogs.com/OrangeTea/p/17206586.html

相关文章

  • 对象、数组、字符串的一些方法(笔记)
    对象字符串方法数组方法 ......
  • C多级指针与多维数组
    使用指针访问数组指针类型的加减运算可以使指针内保存的首地址移动。指针类型加n后。首地址向后移动n*步长字节。指针类型减n后。首地址向前移动n*步长字节。步......
  • C# 反射
    反射是一种在运行时动态获取程序类型信息的技术,它可以用来查找和操作程序中的类型、成员、属性和方法等。·以下是一个简单的利用反射查找、创建对象、调用方法、获取/修......
  • 二维数组打印的两种方式
    #include<stdio.h>voidprint1(intarr[3][5],intx,inty){//传统打印方式inti=0;for(i=0;i<x;i++){intj=0;for(j=0;j<y;j++){......
  • 数组模拟链表
    单链表数组模拟链表比动态链表效率更高。\(head\)作为指向头结点的指针,\(idx\)作为当前结点索引,每次执行完操作都要idx++;数组\(e[]\)用来保存当前结点的值,\(ne[......
  • 1059.使数组和能被P整除
    给你一个长度为n的整数数组nums和一个整数p,请你选出一个非空的子数组使得该子数组元素和对p的余数是0,但不能选出全部元素。计算这个子数组的长度,如果不存在这样......
  • java 反射
    反射1.获取类对象的三种方法publicstaticvoidmethod2()throwsClassNotFoundException{//获取类对象方法1Class<Monkey>c1=Monkey.class;......
  • 代码随想录-数组
    二分查找704.二分查找-力扣(LeetCode)intsearch(int*nums,intnumsSize,inttarget){intleft=0;intright=numsSize-1;intmid=0;i......
  • 寻找两个正序数组的中位数
    寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时......
  • 文件/目录的拷贝-cp
    参考文件管理命令|爱编程的大丙(subingwen.cn)tree命令需要安装Usage:cp[OPTION]...[-T]SOURCEDESTor:cp[OPTION]...SOURCE...DIRECTORYor:cp[OPTION......