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

源码如下:(点击下载 - 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;
} }

数组工具类 - ArrayUtil.java的更多相关文章

  1. Java学习:数组工具类Arrays

    数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组) ...

  2. Java学习笔记七——数组工具类Arrays

    数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...

  3. java数组 数组工具类Arrays

    一.数组 1.java有严格的数据类型限制,一个数组只能声明一个数据类型,存放同一种数据类型. 2.虽然只能存放一种数据类型,假设A , 如果数据类型B 继承A,依然能存放进入数组. 3.数组的初始化 ...

  4. java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象

    1. java.util.Arrays  数组工具类    Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...

  5. Java中Arrays数组工具类的使用全解

    本文几乎涵盖了所有的Arrays工具类(基于Java 11)的方法以及使用用例,一站式带你了解Arrays类的用法,希望对大家有帮助. 码字不易,三连支持一下吧 Arrays数组工具类 方法一览表 快 ...

  6. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  7. Java字符串转16 进制工具类Hex.java

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

  8. 数组工具类 Day07

    package com.sxt.arraytest2; /* * 数组的工具类 */ import java.util.Arrays; public class TestArrays { public ...

  9. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

随机推荐

  1. mac os 10.10上安装my eclipse显示virtual memory不足,解决方案

    mac os 10.10上安装my eclipse显示virtual memory不足,安装失败. 自从把OS 升级到10.10 之后, 各种问题, 安装的时候向导提示提示我们说没有足够的虚拟内存, ...

  2. 发送Http Get和Post请求

    发送Get请求 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; r ...

  3. 使用Npoi向Excel中插入图片

    先把数据库中的数据都导入到Excel表格中,把图片地址的路径全部转成绝对路径. 使用Npoi读取刚导出的Excle表格,把图片那个单元格的图片路径读出来,然后用文件流读取图片,然后通过Npoi把图片放 ...

  4. 【BZOJ】【2765】【JLOI2010】铁人双项比赛

    计算几何/半平面交 本来我是想去写POJ 1755的,然后想起了这道跟它很像的题,但应该是弱化版,所以就先写了这个…… 我们可以发现每个人的总用时,与k是呈一次函数关系的:$time_i=\frac{ ...

  5. 3-Highcharts 3D图之3D柱状图分组叠堆3D图

    <!DOCTYPE> <html lang='en'> <head> <title>3-Highcharts 3D图之3D柱状图分组叠堆3D图</ ...

  6. Discuz! X3.1去除内置门户导航/portal.php尾巴的方法

    方法: 打开文件 /source/admincp/admincp_domain.php 查找 [php] if(!empty($domain) && in_array($domain, ...

  7. Http Module 介绍

    引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进 ...

  8. 机器学习在 IT 运维管理中的必要性!

    机器学习技术在监控工具中的应用已经成为 IT 运维与 DevOps 团队的一大热点话题.尽管相关的使用案例很多,对 IT 团队而已真正的「杀手级应用」是机器学习如何提高实时事件管理能力,从而帮助较大规 ...

  9. 如何开发一个自己的 RubyGem?

    「如何测试你的 RubyGem?」的前导文章 什么是 RubyGem RubyGem 是 Ruby 语言的标准源码打包格式. 大家一直都在用gem这个命令,但是很少有人知道这个东西是怎么来的,这里我从 ...

  10. post 方式提交XML文件调用接口

    import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Date; import java. ...