/**
*一个小工具类
*@author Hf
*@mailto:huangfei8087@163.com
* 在编程的过程中很多时候都希望能将
容器直接转成成为指定的数据,比如
Listids = new ArrayList();
则每次都需要手动创建一个Integer数组,然后在赋值。
collectionToArray 这个方法就实现了这个功能,可直接转换成为Integer数组
*/
public class Helper{
/**
*判断去空的方法
*@author Hf
*@mailto:huangfei8087@163.com
*
*/
public static boolean isNull(Object value){
if(value == null){
return true ;
}
if(value.getClass().isArray()){
if(Array.getLength(value) == 0){
return true ;
}
}
if(value instanceof Collection< >){
Collection< > collection = (Collection< >) value ;
if(collection.isEmpty()){
return true ;
}
}else if(value instanceof Map< , >){
Map< , > map = (Map< , >) value ;
if(map.isEmpty()){
return true ;
}
}else if(value instanceof String){
String string = (String) value ;
return isNull(string) ;
}
return false;
}
/**
* 判断String类型是否为空
*@author Hf
*@mailto:huangfei8087@163.com
* */
public static boolean isNull(String value){
if(value == null){
return true ;
}
if("".equals(value.trim())){
return true ;
}
return false ;
}
/**
*去掉数组中为NULL 的字段
*@author Hf
*@mailto:huangfei8087@163.com
* */
public static
List checkNull(T[] objs){
if(isNull(objs)){
return null;
}
List objList = new ArrayList();
for(T obj : objs){
if(!isNull(obj)){
objList.add(obj) ;
}
}
if(isNull(objList)){
return null;
}
return objList ;
}
/**
*将容器转换成为数组
*@author Hf
*@mailto:huangfei8087@163.com
* */
public static T[] collectionToArray(Collection coll){
T[] ts = null ;
try {
if(coll == null || coll.isEmpty()){
return ts;
}
ts = collectionToArray(coll , null ) ;
} catch (Exception e) {
try {
ts = collectionToArray(coll , Object.class ) ;
} catch (Exception e2) {
e2.printStackTrace( ) ;
}
}
return ts ;
}
/**
* 将容器转换成为指定数组
*@author Hf
*@mailto:huangfei8087@163.com
* */
public static T[] collectionToArray(Collection coll , Class< > clazz){
Iterator iterator = coll.iterator() ;
T[] ts = null ;
int x=0 ;
while(iterator.hasNext()){
T tempT = iterator.next() ;
if(x == 0){
ts = (T[])Array.newInstance(clazz != null clazz : tempT.getClass()
, coll.size()) ;
}
ts[x++] = tempT ;
}
return ts ;
}
}