JAVA ArrayUtils 数组工具类
package com.sicdt.library.core.utils; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map; /**
*
* <br>类 名: 集合,数组工具
* <br>描 述: 描述类完成的主要功能
* <br>作 者: shizhenwei
* <br>创 建: 2017年5月15日
* <br>版 本: v0.0.2
* <br>
* <br>历 史: (版本) 作者 时间 注释
*/
public class ArrayUtils { /**
* 判断是否为空
* @param collection
* @return
*/
public static boolean isEmpty(Collection<?> collection){
return collection == null || collection.isEmpty();
} /**
* 判断是否为空
* @param map
* @return
*/
public static boolean isEmpty(Map<?, ?> map){
return map == null || map.isEmpty();
} /**
* 判断是否为空
* @param array
* @return
*/
public static boolean isEmpty(Object[] array){
return array == null || array.length == 0;
} /**
* 判断是否为空
* @param array
* @return
*/
public static boolean isEmpty(List<Object> array){
return array == null || array.size() == 0;
} public static boolean isArray(Object object) {
if(object == null){
return false;
}
return object.getClass().isArray();
} public static boolean isCollection(Object object) {
return object instanceof Collection;
} @SuppressWarnings("unchecked")
public static <T> T[] objectToArray(Object obj) {
if(obj == null){
return (T[])new Object[0];
}
if(isArray(obj)){
return (T[])obj;
}else if(isCollection(obj)){
return (T[]) ((Collection<T>)obj).toArray();
}
return (T[]) new Object[]{obj};
} @SuppressWarnings("unchecked")
public static <T> List<T> objectToList(Object obj){
if(obj == null){
return Collections.emptyList();
}
if(isArray(obj)){
return Arrays.asList((T[])obj);
}else if(isCollection(obj)){
return new ArrayList<T>((Collection<T>)obj);
}
List<T> list = new ArrayList<T>();
list.add((T) obj);
return list;
} public static int size(Object obj){
if(obj == null){
return 0;
}
if(isArray(obj)){
return ((Object[])obj).length;
}
if(isCollection(obj)){
return ((Collection<?>)obj).size();
}
return -1;
} public static <T> boolean contains(T[] array, Object obj){
return Arrays.asList(array).contains(obj);
}
}
JAVA ArrayUtils 数组工具类的更多相关文章
- java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象
1. java.util.Arrays 数组工具类 Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...
- Java学习笔记七——数组工具类Arrays
数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...
- 数组工具类 - ArrayUtil.java
数组工具类,提供数组.对象之间转换的方法. 源码如下:(点击下载 - ArrayUtil.java .commons-lang-2.6.jar) import java.lang.reflect.Ar ...
- java数组 数组工具类Arrays
一.数组 1.java有严格的数据类型限制,一个数组只能声明一个数据类型,存放同一种数据类型. 2.虽然只能存放一种数据类型,假设A , 如果数据类型B 继承A,依然能存放进入数组. 3.数组的初始化 ...
- Java学习:数组工具类Arrays
数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组) ...
- Java中Arrays数组工具类的使用全解
本文几乎涵盖了所有的Arrays工具类(基于Java 11)的方法以及使用用例,一站式带你了解Arrays类的用法,希望对大家有帮助. 码字不易,三连支持一下吧 Arrays数组工具类 方法一览表 快 ...
- java格式处理工具类
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- java 解析excel工具类
java 解析excel工具类 CreateTime--2018年3月5日16:48:08 Author:Marydon ReadExcelUtils.java import java.io.Fi ...
随机推荐
- sql limit offset 区别
select * from table limit 2,1; //含义是跳过2条取1条数据,即读取第3条数据 select * from table limit 2 ...
- makefile编写---.so动态库的生成和调用
http://blog.sina.com.cn/s/blog_559f6ffc0100fl3z.html 动静 http://blog.csdn.net/yuyunliuhen/article/de ...
- 2015-2016ACM-ICPC NEER northern-subregional-contest C Concatenation
可以在这里提交: http://codeforces.com/gym/100801 题目大意: 给出两个由小写字母组成的字符串S,T,从S中取一个非空前缀,从T中取一个非空后缀,拼接成一个新的字符串. ...
- JavaScript中trim 方法实现
Java中的 String 类有个trim() 能够删除字符串前后的空格字符.jQuery中也有trim()方法能够删除字符变量前后的字符串. 可是JavaScript中却没有对应的trim() 方法 ...
- 基于python的七种经典排序算法(转)
一.排序的基本概念和分类 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 排序的稳定性:经过某种排序后,如果两个 ...
- faceswap
https://github.com/deepfakes/faceswap https://anonfile.com/p7w3m0d5be
- 如何获取继承中泛型T的类型
@SuppressWarnings("unchecked") public void testT() { clazz = (Class<T>)( (Parameteri ...
- HDU3062-Party(2-SAT)
pid=3062">题目链接 思路:2-SAT的模版题 代码: #include <iostream> #include <cstdio> #include & ...
- linux 下shell程序(二)
输入和输出 输入指的是Shell程序读入数据.有从文件读取.从用户输入读取等方式读入数据.输出指的是Shell程序的运行 结果的处理,可以显示到屏幕或保存到文件. 用ceho命令输出结果 echo $ ...
- Android无线测试之—Genymotion配置过程中常见问题
一.前提条件: 已经部署好了Android UiAutomator测试环境. 二.在部署Genymotion时遇到了两类问题: 1.通过eclipse打开一个模拟设备,然后将编译好的jar包push到 ...