• 数组工具类


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

     

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

     1 import java.lang.reflect.Array;
     2 import java.util.Collection;
     3 import java.util.Iterator;
     4 
     5 import org.apache.commons.lang.StringUtils;
     6 
     7 /**
     8  * 数组工具类
     9  * 
    10  */
    11 public class ArrayUtil {
    12 
    13     private transient static final String DEFAULT_JOIN_STR = ",";
    14 
    15     /**
    16      * 连接字符串 如:[1,2,3,4],将会返回"1,2,3,4"
    17      *
    18      * @param arr
    19      *            an array of {@link java.lang.Object} objects.
    20      * @return a {@link java.lang.String} object.
    21      */
    22     public static final String join(final Object[] arr) {
    23         return join(arr, DEFAULT_JOIN_STR);
    24     }
    25 
    26     /**
    27      * 连接字符串 如: join([1,2,3,4],"x"]) 将会返回"1x2x3x4"
    28      *
    29      * @param arr
    30      *            an array of {@link java.lang.Object} objects.
    31      * @param joinStr
    32      *            a {@link java.lang.String} object.
    33      * @return a {@link java.lang.String} object.
    34      */
    35     public static final String join(final Object[] arr, final String joinStr) {
    36         if (arr == null || arr.length < 1) {
    37             return StringUtils.EMPTY;
    38         }
    39         final StringBuffer sb = new StringBuffer(String.valueOf(arr[0]));
    40         for (int i = 1, len = arr.length; i < len; i++) {
    41             sb.append(StringUtils.isNotEmpty(joinStr) ? joinStr : StringUtils.EMPTY).append(String.valueOf(arr[i]));
    42         }
    43         return sb.toString();
    44     }
    45 
    46     /**
    47      * 集合转数组
    48      *
    49      * @param collection
    50      *            集合
    51      * @param clazz
    52      *            类型
    53      * @return 数组
    54      * @param <T>
    55      *            a T object.
    56      */
    57     @SuppressWarnings("unchecked")
    58     public static final <T> T[] toArray(final Collection<T> collection, final Class<T> clazz) {
    59         if (collection == null) {
    60             return null;
    61         }
    62         final T[] arr = (T[]) Array.newInstance(clazz, collection.size());
    63         return collection.toArray(arr);
    64     }
    65 
    66     /**
    67      * 集合转对象数组
    68      *
    69      * @param collection
    70      *            集合
    71      * @return 对象数组
    72      */
    73     public static final Object[] toObjectArray(final Collection<?> collection) {
    74         if (collection == null) {
    75             return null;
    76         }
    77         final Object[] arr = (Object[]) Array.newInstance(Object.class, collection.size());
    78         int i = 0;
    79         for (Iterator<?> it = collection.iterator(); it.hasNext();) {
    80             arr[i++] = it.next();
    81         }
    82         return arr;
    83     }
    84 
    85 }
  • 相关阅读:
    HashTable介绍
    java源码 -- HashSet
    java源码 -- AbstractList
    java源码 -- AbstractSet
    java源码 -- AbstractCollection抽象类
    java源码 --List、Set、Collection
    第五篇:SpringBoot整合Mybatis
    java源码 -- AbstractMap
    算法
    根据前序遍历和中序遍历求后序遍历
  • 原文地址:https://www.cnblogs.com/zhoubang521/p/5200600.html
Copyright © 2020-2023  润新知