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知识面广,应多积累,熟能生巧;

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

原文地址:https://www.cnblogs.com/elnimo/p/11057745.html