/**
*一个小工具类
*@author Hf
*@mailto:huangfei8087@163.com
* 在编程的过程中很多时候都希望能将
容器直接转成成为指定的数据,比如
List<Integer>ids = new ArrayList<Integer>();
则每次都需要手动创建一个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 <T> List<T> checkNull(T[] objs){
if(isNull(objs)){
return null;
}
List<T> objList = new ArrayList<T>();
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> T[] collectionToArray(Collection<T> 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> T[] collectionToArray(Collection<T> coll , Class<?> clazz){
Iterator<T> 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 ;
}
} |
|