zoukankan      html  css  js  c++  java
  • JAVA常用工具类

      平时敲代码的时候,会经常使用到一些常用的工具类,这里我将自己工作用到的做一个总结,以后随着工作深度的增加,会不断补充、完善。

    思维导图:

    package cn.com.winson;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    import javax.servlet.http.HttpServletRequest;
    
    public class tc {
        
        /**
         * 判断对象是否为空
         * @param Object,String,List,Map,Set,Object[],int[],long[]
         * @return boolean
         */
        public static boolean isEmpty(Object o) {
            if (o == null) {
                return true;
            }
            if (o instanceof String) {
                if (o.toString().trim().equals("")) {
                    return true;
                }
            } else if (o instanceof List) {
                if (((List) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Map) {
                if (((Map) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Set) {
                if (((Set) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Object[]) {
                if (((Object[]) o).length == 0) {
                    return true;
                }
            } else if (o instanceof int[]) {
                if (((int[]) o).length == 0) {
                    return true;
                }
            } else if (o instanceof long[]) {
                if (((long[]) o).length == 0) {
                    return true;
                }
            }
            return false;
        }
        
        /**
         * 对象是否不为空
         * @param Object,String,List,Map,Set,Object[],int[],long[]
         * @return boolean
         */
        public static boolean isNotEmpty(Object o) {
            return false;
        }
        
        /**
         * 数组对象中是否存在 Empty Object
         * @param Object数组
         * @return boolean
         */
        public static boolean isOneEmpty(Object... os) {
            for (Object o : os) {
                if (isEmpty(o)) {
                    return true;
                }
            }
            return false;
        }
        
        /**
         * 判断是否是IE浏览器(通过请求头)
         * @param request
         * @return boolean
         */
        public static boolean isMSBrowser(HttpServletRequest request) {
            String[] IEBrowserSignals = {"MSIE", "Trident", "Edge"};
            String userAgent = request.getHeader("User-Agent");
            for (String signal : IEBrowserSignals) {
                if (userAgent.contains(signal)) {
                    return true;
                }
            }
            return false;
        }
        
        /**
         * 判断对象是否为数字
         * @param Object
         * @return boolean
         */
        public static boolean isNum(Object obj) {
            try {
                Integer.parseInt(obj.toString());
            } catch (Exception e) {
                return false;
            }
            return true;
        }
    
        /**
         * 判断字符串是否为false
         * @param Object
         * @return
         */
        public static boolean isFalse(Object str) {
            if (tc.isEmpty(str) || str.toString().trim().equalsIgnoreCase("false")) {
                return true;
            }
            return false;
        }
    
        /**
         * 格式化字符串->'str'
         * @param str
         * @return
         */
        public static String format(Object str) {
            return "'" + str.toString() + "'";
        }
    
        /**
         * 强转->Integer
         * @param obj
         * @return
         */
        public static int toInt(Object obj) {
            return Integer.parseInt(obj.toString());
        }
    
        /**
         * 强转->Integer
         * @param obj
         * @param defaultValue
         * @return
         */
        public static int toInt(Object obj, int defaultValue) {
            if (isEmpty(obj)) {
                return defaultValue;
            }
            return toInt(obj);
        }
    
        /**
         * 强转->Long
         * @param obj
         * @return
         */
        public static long toLong(Object obj) {
            return Long.parseLong(obj.toString());
        }
    
        /**
         * 强转->Long
         * @param obj
         * @param defaultValue
         * @return
         */
        public static long toLong(Object obj, long defaultValue) {
            if (isEmpty(obj)) {
                return defaultValue;
            }
            return toLong(obj);
        }
    
        /**
         * 强转->Double
         * @param obj
         * @return
         */
        public static double toDouble(Object obj) {
            return Double.parseDouble(obj.toString());
        }
    
        /**
         * 强转->Boolean
         * @param obj
         * @return
         */
        public static Boolean toBoolean(Object obj) {
            return Boolean.parseBoolean(obj.toString());
        }
    
        /**
         * 强转->Boolean
         * @param obj
         * @param defaultValue
         * @return
         */
        public static Boolean toBoolean(Object obj, Boolean defaultValue) {
            if (isEmpty(obj)) {
                return defaultValue;
            }
            return toBoolean(obj);
        }
        
        /**
         * Array转字符串(用指定符号分割)
         *
         * @param array
         * @param sign
         * @return
         */
        public static String join(Object[] array, char sign) {
            if (array == null) {
                return null;
            }
            int arraySize = array.length;
            int bufSize = (arraySize == 0 ? 0 : ((array[0] == null ? 16 : array[0].toString().length()) + 1) * arraySize);
            StringBuilder sb = new StringBuilder(bufSize);
    
            for (int i = 0; i < arraySize; i++) {
                if (i > 0) {
                    sb.append(sign);
                }
                if (array[i] != null) {
                    sb.append(array[i]);
                }
            }
            return sb.toString();
        }
    
        /**
         * 删除末尾字符串(判断字符串末尾是否为指定结尾,如果是,删掉)
         * @param str  待处理字符串
         * @param sign 需要删除的符号
         * @return
         */
        public static String delEndStr(String str, String sign) {
            if (str.endsWith(sign)) {
                return str.substring(0, str.lastIndexOf(sign));
            }
            return str;
        }
    
        /**
         * 把对象类型转换成字符串
         * @param obj 要转换的类型
         * @return
         */
        public static String ConvertToString(Object obj) {
            return obj != null ? String.valueOf(obj).trim() : "";
        }
        
        /**
         * 删除字符串末尾的逗号(,):英文环境下的逗号
         * @param str
         * @return
         */
        public static String delEndComma(String str){
            if(tc.isNotEmpty(str)){
                if(str.endsWith(",")){
                    str=str.substring(0,str.length()-1);
                }
            }
            return str;
       }
    }

    小结:

      一、java知识面广,应多积累,熟能生巧;

      二、工具类,以后会再扩充。

  • 相关阅读:
    网络流
    第k短路(Dijkstra & A*)
    线段树(区间修改)
    线段树(单点修改)
    分块
    单调队列
    NOIP 2006 T2 金明的预算方案
    背包
    CH 6021 走廊泼水节
    关于数字序列匹配的一些问题(lis, lcs, lcis等)
  • 原文地址:https://www.cnblogs.com/elnimo/p/11057745.html
Copyright © 2011-2022 走看看