• 数组追加的工具类


    import java.util.Arrays;
    
    /**
     * 数组追加的工具类
     */
    public class ArrayUtil {
    
        /**
         * 追加src的全部元素到result尾部
         * 
         * @param desc
         * @param src
         * @return
         */
        public static <T> T[] appendArray(T[] desc, T[] src) {
            // 特殊情况
            if (null == desc || null == src) {
                return (null == desc) ? src : desc;
            }
    
            // 原结果数组长度
            int descLength = desc.length;
    
            // 原添加数组长度
            int srcLength = src.length;
    
            // 结果数组扩容(必须接收一下)
            desc = Arrays.copyOf(desc, descLength + srcLength);
    
            // 数组追加
            System.arraycopy(src, 0, desc, descLength, srcLength);
    
            // 返回追加后的完整数组
            return desc;
        }
    
        /**
         * 追加src的全部元素到result尾部
         * 
         * @param desc
         * @param src
         * @return
         */
        public static byte[] appendByteArray(byte[] desc, byte[] src) {
            return ArrayUtil.appendByteArray(desc, src, src.length);
        }
    
        /**
         * 追加src的前count个元素到result尾部
         * 
         * @param desc
         * @param src
         * @param count
         * @return
         */
        public static byte[] appendByteArray(byte[] desc, byte[] src, int count) {
            // 特殊情况1
            if (null == src) {
                return desc;
            }
    
            // 特殊情况2,此时append不为null
            if (null == desc) {
                byte[] result = new byte[count];
                // count值大于src的长度时会报数组越界的异常,此处不处理
                System.arraycopy(src, 0, result, 0, count);
                return result;
            }
    
            // 原结果数组长度
            int orignalLength = desc.length;
    
            // 结果数组扩容
            int newLength = orignalLength + count;
            desc = Arrays.copyOf(desc, newLength);
    
            // 数组追加
            System.arraycopy(src, 0, desc, orignalLength, count);
    
            // 返回追加后的完整数组
            return desc;
        }
    
        /**
         * 测试
         */
        public static void main(String[] args) {
            String[] arr1 = { "a", "b", "c" };
            String[] arr2 = { "1", "2", "3" };
    
            String[] result = ArrayUtil.appendArray(arr1, arr2);
    
            System.out.println(Arrays.toString(result));
    
            /*byte[] desc = { 6, 7, 8 };
            byte[] src = { 1, 2, 3, 4 };
            int count = 2;
    
            // byte[] result = ArrayUtil.appendByteArray(desc, src, count);
            byte[] result = ArrayUtil.appendByteArray(desc, src);
            System.out.println(Arrays.toString(result));*/
        }
    
    }
  • 相关阅读:
    c# WF 第11节 RichTextBox
    c# WF 第10节 textbox 控件
    c# WF 第9节 button控件
    c# WF 第8节 label控件
    c# WF 第7节 对控件的基本操作
    c# WF 第6节 MDI窗体
    c# WF 第5节 窗体的控件
    Python接口自动化之动态数据处理
    Saturn分布式调度之系统架构简介
    Jmeter系列之接口依赖
  • 原文地址:https://www.cnblogs.com/zj0208/p/9101277.html
Copyright © 2020-2023  润新知