J2ME数组的复制及连接操作方法

本文介绍了一个Java实用类Arrays,提供了复制、比较、连接不同类型的数组的方法。包括byte和int数组的具体实现,如深拷贝、元素比较及数组拼接等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Arrays {
  /**
  * 构造函数私有,这样可以保证只能通过:类名.静态方法 或 类名.静态方法 来访问内部数据,
  * 而不可以通过创建本类的对象来进行访问
  */
  private Arrays() {
  }
  /**
  * 复制一个跟源byte数组一样的byte数组
  * @param rSource 源byte数组
  * @return 跟源byte[]数组一样的byte[]数组
  */
  static public byte[] copy(byte[] rSource) {
  byte[] aResult = new byte[rSource.length];
  System.arraycopy(rSource, 0, aResult, 0, aResult.length);
  return aResult;
  }
  /**
  * 复制一个跟源int数组一样的int数组
  * @param rSource 源int数组
  * @return 跟源int数组一样的int数组
  */
  static public int[] copy(int[] rSource) {
  int[] aResult = new int[rSource.length];
  System.arraycopy(rSource, 0, aResult, 0, aResult.length);
  return aResult;
  }
  /**
  * 比较两个byte数组的内容及长度是否相等.
  * @param a1 第一个byte数组
  * @param a2 第二个byte数组
  * @return 相等的话返回true,否则返回false
  */
  static public boolean equals(byte[] a1, byte[] a2) {
  if ( (a1 == null) || (a2 == null)) {
  return a1 == a2;
  }
  int nLength = a1.length;
  if (nLength != a2.length) {
  return false;
  }
  for (int i = 0; i < nLength; i++) {
  if (a1[i] != a2[i]) {
  return false;
  }
  }
  return true;
  }
  /**
  * 比较两个int数组的内容及长度是否相等.
  * @param a1 第一个int数组
  * @param a2 第二个int数组
  * @return 相等的话返回true,否则返回false
  */
  static public boolean equals(int[] a1, int[] a2) {
  if ( (a1 == null) || (a2 == null)) {
  return a1 == a2;
  }
  int nLength = a1.length;
  if (nLength != a2.length) {
  return false;
  }
  for (int i = 0; i < nLength; i++) {
  if (a1[i] != a2[i]) {
  return false;
  }
  }
  return true;
  }
  /**
  * 连接两个byte数组,之后返回一个新的连接好的byte数组
  * @param a1
  * @param a2
  * @return 一个新的连接好的byte数组
  */
  static public byte[] join(byte[] a1, byte[] a2) {
  byte[] result = new byte[a1.length + a2.length];
  System.arraycopy(a1, 0, result, 0, a1.length);
  System.arraycopy(a2, 0, result, a1.length, a2.length);
  return result;
  }
  /**
  * 连接两个int数组,之后返回一个新的连接好的int数组
  * @param a1
  * @param a2
  * @return 一个新的连接好的int数组
  */
  static public int[] join(int[] a1, int[] a2) {
  int[] result = new int[a1.length + a2.length];
  System.arraycopy(a1, 0, result, 0, a1.length);
  System.arraycopy(a2, 0, result, a1.length, a2.length);
  return result;
  }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值