数组工具类 - ArrayUtil.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;
} }
数组工具类 - ArrayUtil.java的更多相关文章
- Java学习:数组工具类Arrays
数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组) ...
- Java学习笔记七——数组工具类Arrays
数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...
- java数组 数组工具类Arrays
一.数组 1.java有严格的数据类型限制,一个数组只能声明一个数据类型,存放同一种数据类型. 2.虽然只能存放一种数据类型,假设A , 如果数据类型B 继承A,依然能存放进入数组. 3.数组的初始化 ...
- java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象
1. java.util.Arrays 数组工具类 Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...
- Java中Arrays数组工具类的使用全解
本文几乎涵盖了所有的Arrays工具类(基于Java 11)的方法以及使用用例,一站式带你了解Arrays类的用法,希望对大家有帮助. 码字不易,三连支持一下吧 Arrays数组工具类 方法一览表 快 ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- Java字符串转16 进制工具类Hex.java
Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...
- 数组工具类 Day07
package com.sxt.arraytest2; /* * 数组的工具类 */ import java.util.Arrays; public class TestArrays { public ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
随机推荐
- mysql--乱码
不知道为什么utf8反而会乱码,每次都是设gbk,,唉这样写项目的时候也是有点问题的T T set names gbk; 版权声明:本文为博主原创文章,未经博主允许不得转载.
- 【Python】Eclipse和pydev搭建Python开发环境
参考资料: http://www.dotnet120.com/page/10545/ 1.准备工作: 下载32位的JDK6 Java的开发包 下载 ...
- 【BZOJ】【2178】圆的面积并
自适应辛普森积分 Orz Hzwer 辛普森真是个强大的东西……很多东西都能积= = 这题的正解看上去很鬼畜,至少我这种不会计算几何的渣渣是写不出来……(对圆的交点求图包,ans=凸包的面积+一堆弓形 ...
- 【bzoj1009】[HNOI2008]GT考试
1009: [HNOI2008]GT考试 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3018 Solved: 1856[Submit][Statu ...
- silverlight的第一个程序
摘要:silverlight是微软公司全力打造的一种跨平台.跨浏览器的RIA新技术,silverlight以XAML为界面呈现语言,支持2D矢量图形.动画.数据绑定.控件风格与模板.LINQ.WCF. ...
- HTML5中表单验证的8种方法(转)
在深人探讨表单验证之前,让我们先思考一下表单验证的真实含义.就其核心而言,表单验证是一套系统,它为终端用户检测无效的控件数据并标记这些错误.换言之,表单验证就是在表单提交服务器前对其进行一系列的检查并 ...
- https+ssl详解
这是转载别人的写的很好,(转:崔永秀) 把这几天学习到的关于ssl和https协议的内容在这里分享一下,适合一些像我一样的网络协议初学者. ssl协议的起源和历史我就不再多说了,就是那个Netscap ...
- 用WebStorm编辑Markdown
前言[转http://blog.fens.me/webstorm-markdown/] WebStorm是一个非常高效的开发工具,特别对于Web前端的开发.Markdown流行,因为其简化了HTML的 ...
- HDOJ 2181 哈密顿绕行世界问题
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- mysql修改数据库表权限
ps:通常我用的是:1.“grant all on *.* to root@'%' identified by 'yourpassword';”——这个还可以顺带设置密码.2.“flush privi ...