zoukankan      html  css  js  c++  java
  • 数组工具类

    数组工具类,提供数组、对象之间转换的方法。

    源码如下:(点击下载 - ArrayUtil.java 、commons-lang-2.6.jar)

    import java.lang.reflect.Array;
    import java.util.Collection;
    import java.util.Iterator;
    
    import org.apache.commons.lang.StringUtils;
    
    /**
     * 数组工具类
     * 
     */
    public class ArrayUtil {
    
        private transient static final String DEFAULT_JOIN_STR = ",";
    
        /**
         * 连接字符串 如:[1,2,3,4],将会返回"1,2,3,4"
         *
         * @param arr
         *            an array of {@link java.lang.Object} objects.
         * @return a {@link java.lang.String} object.
         */
        public static final String join(final Object[] arr) {
            return join(arr, DEFAULT_JOIN_STR);
        }
    
        /**
         * 连接字符串 如: join([1,2,3,4],"x"]) 将会返回"1x2x3x4"
         *
         * @param arr
         *            an array of {@link java.lang.Object} objects.
         * @param joinStr
         *            a {@link java.lang.String} object.
         * @return a {@link java.lang.String} object.
         */
        public static final String join(final Object[] arr, final String joinStr) {
            if (arr == null || arr.length < 1) {
                return StringUtils.EMPTY;
            }
            final StringBuffer sb = new StringBuffer(String.valueOf(arr[0]));
            for (int i = 1, len = arr.length; i < len; i++) {
                sb.append(StringUtils.isNotEmpty(joinStr) ? joinStr : StringUtils.EMPTY).append(String.valueOf(arr[i]));
            }
            return sb.toString();
        }
    
        /**
         * 集合转数组
         *
         * @param collection
         *            集合
         * @param clazz
         *            类型
         * @return 数组
         * @param <T>
         *            a T object.
         */
        @SuppressWarnings("unchecked")
        public static final <T> T[] toArray(final Collection<T> collection, final Class<T> clazz) {
            if (collection == null) {
                return null;
            }
            final T[] arr = (T[]) Array.newInstance(clazz, collection.size());
            return collection.toArray(arr);
        }
    
        /**
         * 集合转对象数组
         *
         * @param collection
         *            集合
         * @return 对象数组
         */
        public static final Object[] toObjectArray(final Collection<?> collection) {
            if (collection == null) {
                return null;
            }
            final Object[] arr = (Object[]) Array.newInstance(Object.class, collection.size());
            int i = 0;
            for (Iterator<?> it = collection.iterator(); it.hasNext();) {
                arr[i++] = it.next();
            }
            return arr;
        }
    
    }
  • 相关阅读:
    leetCode 61.Rotate List (旋转链表) 解题思路和方法
    aar格式
    hadoop生态系统学习之路(六)hive的简单使用
    centOS 7中上网以及网卡的一些设置
    Codeforces 223C Partial Sums 数论+组合数学
    项目管理:怎样让例会高效
    Web用户的身份验证及WebApi权限验证流程的设计和实现
    IIS7 经典模式和集成模式的区别分析
    JS实现密码加密
    discuz !NT 3.5 论坛整合 .net 网站用户登录,退出
  • 原文地址:https://www.cnblogs.com/lr393993507/p/5457431.html
Copyright © 2011-2022 走看看