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

来源:文书网 2.59W

public class Arrays {

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

/**

* 构造函数私有,这样可以保证只能通过:类名.静态方法 或 类名.静态方法 来访问内部数据,

* 而不可以通过创建本类的对象来进行访问

*/

private Arrays() {

}

/**

* 复制一个跟源byte数组一样的byte数组

* @param rSource 源byte数组

* @return 跟源byte[]数组一样的byte[]数组

*/

static public byte[] copy(byte[] rSource) {

byte[] aResult = new byte[th];

ycopy(rSource, 0, aResult, 0, th);

return aResult;

}

/**

* 复制一个跟源int数组一样的int数组

* @param rSource 源int数组

* @return 跟源int数组一样的数组

*/

static public int[] copy(int[] rSource) {

int[] aResult = new int[th];

ycopy(rSource, 0, aResult, 0, th);

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 = th;

if (nLength != th) {

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 = th;

if (nLength != th) {

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[th + th];

ycopy(a1, 0, result, 0, th);

ycopy(a2, 0, result, th, th);

return result;

}

/**

* 连接两个int数组,之后返回一个新的连接好的int数组

* @param a1

* @param a2

* @return 一个新的连接好的int数组

*/

static public int[] join(int[] a1, int[] a2) {

int[] result = new int[th + th];

ycopy(a1, 0, result, 0, th);

ycopy(a2, 0, result, th, th);

return result;

}

}

热门标签