A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© zhao543 中级黑马   /  2017-3-7 19:30  /  855 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 }

2 个回复

倒序浏览
回复 使用道具 举报
壮哉我的大黑马,我的传智播客
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马