`
wuhua
  • 浏览: 2114267 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

J2ME数组的复制及连接操作

    博客分类:
  • J2ME
 
阅读更多

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;
   }
}

分享到:
评论

相关推荐

    j2me程序读取文件

    ### J2ME程序读取文件知识点详解 #### 一、J2ME简介 J2ME(Java 2 Platform Micro Edition)是Sun ...通过对示例代码的深入分析,可以帮助开发者更好地理解和掌握J2ME环境下文件操作的基本原理和技术要点。

    java源码包---java 源码 大量 实例

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java源码包2

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java源码包3

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java源码包4

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    2021-2022计算机二级等级考试试题及答案No.14312.docx

    J2ME(Java 2 Platform Micro Edition)是专门为嵌入式设备和移动设备设计的Java平台。 ### 23. URL的组成部分 URL(统一资源定位符)中的“http”表示超文本传输协议(HyperText Transfer Protocol)。这是Web浏览器和...

    Java面试题(全面总结)

    4. **连接池**:减少数据库连接的创建和销毁操作,提高性能。 5. **Web.xml的作用**:配置Web应用的各种设置和初始化参数。 ### 其他 1. **Web安全性考虑**:包括表单验证、HTTPS、代码审计等方面。 2. **MVC...

    JAVA面试题整理.pdf

    - 如标记-清除、复制、标记-压缩等算法,各有优缺点。 27. **线程池实现** - 线程池通过管理一组预先创建的线程来提高程序性能。 28. **JVM加载class文件的原理** - JVM 通过类加载器加载 `.class` 文件,并...

    Java面试题及解惑

    - 包括标记-清除、复制算法等。 #### 39. 实现线程池 - 使用`ThreadPoolExecutor`类。 #### 40. JVM加载class文件的原理 - 描述类加载器如何加载类文件。 #### 41. 示例说明 - 提供具体的代码示例。

    JAVA笔试题,面试题(吐血推荐)

    9. **链表与散列表和数组的区别**:链表适合插入和删除操作,散列表适用于快速查找,数组适用于随机访问。 10. **堆和栈的区别**:堆空间用于存放对象实例,栈空间用于存放局部变量等。 11. **EJB的分类**:会话Bean...

    2021-2022计算机二级等级考试试题及答案No.2085.docx

    根据给定文件的信息,我们可以总结出一系列与计算机二级等级考试相关的知识点,这些知识点涉及计算机基础知识、编程语言(如Visual Basic、SQL、Java等)、数据库管理、算法基础以及操作系统等方面的内容。...

    2021-2022计算机二级等级考试试题及答案No.4480.docx

    剪切操作会将选定的内容从原位置移除,并将其复制到剪贴板上,以便之后粘贴到其他位置。 - **结论:** 题目描述正确。 ### 4. C语言中查找数组中最小元素的函数 **知识点:** - **题目描述:** 要求补全一个用于...

    最新Java面试大全

    ### Java基础知识 ...- **复制算法**:将内存分为两个相等的空间,每次只使用一半。 - **标记-整理算法**:标记完成后将存活的对象移到一边。 - **分代收集算法**:针对对象的不同生命周期采取不同的回收策略。

    Java基础知识及面试题

    - **解答:** 可以通过将字符串转换为字符数组,然后使用双指针技术来实现字符串的反转。 ```java public static String reverseString(String s) { char[] chars = s.toCharArray(); int left = 0; int right...

    JAVA面试题集整理

    - **解释**:JVM中的垃圾回收算法包括标记-清除算法、复制算法、标记-压缩算法和分代收集算法等。每种算法都有其适用场景和特点,JVM会根据实际情况选择最合适的垃圾回收策略。 6. **多态性**: - **问题**:Java...

    java面试

    5. **JDBC连接数据库**:通常包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL语句、处理结果集和关闭资源。 6. **MVC框架**:Model(模型)负责业务逻辑,View(视图)展示数据,...

Global site tag (gtag.js) - Google Analytics