zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    记一次ORACLE的UNDO表空间爆满分析过程
    ORACLE AWR报告数据的导入导出实践
    Linux 平台MySQL启动关闭方式总结
    ORACLE 查看RMAN的备份信息总结
    ORACLE AWR报告生成过程出现多个实例记录分析
    ORACLE 如何查看索引重建进度情况
    partproble在RHEL 6下无法更新分区信息
    Oracle行内链接不会引起USER_TABLES中CHAIN_CNT值变化
    Linux服务器宕机案例第二则
    ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []
  • 原文地址:https://www.cnblogs.com/zwcry/p/8483182.html
Copyright © 2011-2022 走看看