java中没有关于修改数组长度的api,在此本人提供了修改数组长度的两个函数:arrayAddLength()和arrayReduceLength().详细见代码.

[java] view plaincopyprint?

import java.lang.reflect.Array;

/**

* Description: This class is used to adjust array length.

* @author e421083458

*

*/

public class ArrayTest {

/**

* @param args

*/

public static void main(String[] args) {

int a[]= new int[]{0,1,2,3,4,5};

int b[]= new int[]{0,1,2,3,4,5};

a = (int[]) arrayAddLength(a,2);

b = (int[]) arrayReduceLength(b,2);

//out print array lenght

System.out.println(a.length);

for (int i=0;i

System.out.print(a[i]);

}

System.out.println();

System.out.println(b.length);

for (int i=0;i

System.out.print(b[i]);

}

}

/**

* Description: Array add length

* @param oldArray

* @param addLength

* @return Object

*/

public static Object arrayAddLength(Object oldArray,int addLength) {

Class c = oldArray.getClass();

if(!c.isArray())return null;

Class componentType = c.getComponentType();

int length = Array.getLength(oldArray);

int newLength = length + addLength;

Object newArray = Array.newInstance(componentType,newLength);

System.arraycopy(oldArray,0,newArray,0,length);

return newArray;

}

/**

* Description: Array reduce lenght

* @param oldArray

* @param reduceLength

* @return Object

*/

public static Object arrayReduceLength(Object oldArray,int reduceLength) {

Class c = oldArray.getClass();

if(!c.isArray())return null;

Class componentType = c.getComponentType();

int length = Array.getLength(oldArray);

int newLength = length - reduceLength;

Object newArray = Array.newInstance(componentType,newLength);

System.arraycopy(oldArray,0,newArray,0,newLength);

return newArray;

}

}

java改变数组长度_Java修改数组长度相关推荐

  1. java数组复制_Java自学-数组 复制数组

    Java 如何复制数组 数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 步骤 1 : 复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src ...

  2. java创建数组对象_java对象数组 创建对象数组,初始化对象数组

    对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组. 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象. 对象数组的定义和使用: 对象数组 ...

  3. java 数组 指针_java指针数组的使用

    1,一直都在学java是没有指针的,让我纠结的是java指针确实是存在的,java数组就是真正的指针. 以为C语言老师说过C语言里数组就是指针,但是我感觉这句话用在C语言里不是很严谨,而用在java里 ...

  4. java 对象数组定义_Java对象数组定义与用法详解

    本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据 ...

  5. java对象返回数组对象_Java 对象数组

    1 public classStudent 2{ 3 //成员变量 4 private String name; 5 private int age; 6 7 //构造方法 8 publicStude ...

  6. java 数组 内存_Java 中数组的内存分配

    Java 中数组的内存分配 1.Java 程序在运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式. 2.数组基本概念 数组是 ...

  7. java 数组参数_java中 数组可以作为形式参数传递到调用的方法中吗?要怎么操作?...

    展开全部 可以,操作代码如下: public class ArrTest{ public static void doTest(String[] args){ for(int i=0;i System ...

  8. java反射 数组类型_Java反射-数组

    通过反射使用数组有时会比较棘手.特别是需要获得一个特定类型数组的Class对象,如int[]等.本文将讨论如何通过反射创建数组和获得他们的Class对象. 注意:本文在阅读Eyal Lupu的博客&q ...

  9. java数组去重_Java实现数组去重

    思路就是新建一个数组,把原数组的元素赋进去,再去除因此产生的0. import java.util.Arrays; public class Solution { public static void ...

最新文章

  1. boost::ratio_equal相关的测试程序
  2. CSS使用display:incline:元素放置在一行之内
  3. 微信公招访问我服务器的那个端口,查看谁在使用某个网络端口
  4. 禁止微信公众号页面上下滑动
  5. SIEM部署失败的五大原因
  6. 1.3编程基础之算术表达式与顺序执行 05 计算分数的浮点数值
  7. Windows中Git无法显示中文
  8. Noip2010提高组总结
  9. 给老师的作文:育儿经验-父母是孩子最好的老师
  10. 在OS上kill掉v$session中status值为killed的进程
  11. 常见驱动程序相关知识
  12. docker下修改mysql配置文件
  13. 【Simscape】用Simscape实现三维物理仿真(三)——创建一个滑块单摆系统
  14. 转:查理·芒格:让打击和麻烦成为成长的契机
  15. 网易云音乐网站项目问题整理
  16. js实现视频直播,结合bilibili开源项目
  17. 2021-02-03-linux命令
  18. 新型冠状病毒肺炎分析
  19. 反向索引和自增索引区别_一张图看懂SEO收录与索引的区别
  20. [LBS学习笔记3]redis geo地理位置查询分析

热门文章

  1. 纯css实现带斜角的边框样式
  2. 数据脱敏——什么是数据脱敏
  3. 元宇宙拯救游戏直播?
  4. Vue电商项目-商品飞入购物车特效实现
  5. I2C子系统之适配器的设备接口分析(i2c-dev.c文件分析)
  6. Linux设备驱动之——I2C总线
  7. 【高德】改变地图的背景色为自定义样式
  8. android版本对so支持,Android so文件兼容之abiFilters的使用
  9. opencv交通标志识别——2
  10. 市场调研-全球与中国VR播放器市场现状及未来发展趋势