Java通用工具類方法

jxuf9925 8年前發布 | 7K 次閱讀 Java

自己寫的常用的工具方法,字符串、數組、日期處理
</div>

 

MyUtilTool    

package com.ctb.utils;

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import net.sf.json.JSONArray;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;


public class MyUtilTool {
    private static Logger logger = Logger.getLogger(MyUtilTool.class);
    /**
     * 日期格式參數
     * @author 11
     */
    public static class DATE_PARAM{
        public static String STANDARD_DATE = "yyyy-MM-dd HH:mm:ss";
        public static String STANDARD_DATE_SIMPLE = "yyyy-MM-dd";
        public static String CHN_DATE = "yyyy年MM月dd日 HH時mm分ss秒";
        public static String CHN_DATE_SIMPLE = "yyyy年MM月dd日";
    }

    /**
     * 日期處理工具
     * @author 11
     */
    public static class DATE{

        /**
         * 獲取當前時間
         * @return
         */
        public static Long getCurrentTime() {
            return (new Date()).getTime();
        }

        /**
         * 獲取當前日期的格式化字符串
         * @param formateStr
         * @return
         */
        public static String currentDateString(String formateStr) {
            if (StringUtils.isEmpty(formateStr)) {
                formateStr = MyUtilTool.DATE_PARAM.STANDARD_DATE;
            }
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formateStr);
            try {
                return simpleDateFormat.format(new Date());
            } catch (Exception e) { 
                logger.error("日期格式化異常");
            }
            return null;
        }

        /**
         * 日期格式化
         * @param date
         * @return String
         */
        public static String dateToString(Date date,String formateStr) {
            if (StringUtils.isEmpty(formateStr)) {
                formateStr = MyUtilTool.DATE_PARAM.STANDARD_DATE;
            }
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formateStr);
            try {
                return simpleDateFormat.format(date);
            } catch (Exception e) {
                logger.error("日期格式化異常");
            }
            return null;
        }

        /**
         * 字符串轉換成日期
         * 
         * @param dateStr
         * @return
         */
        public static Date stringToDate(String dateStr,String formateStr) {
            if (StringUtils.isEmpty(formateStr)) {
                formateStr = MyUtilTool.DATE_PARAM.STANDARD_DATE;
            }
            if (dateStr != null && dateStr.length() > 0) {
                dateStr = formatDateStr(dateStr);
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formateStr);
                try {
                    return simpleDateFormat.parse(dateStr);
                } catch (ParseException e) {
                    logger.error("日期格式化異常");
                }
            }
            return null;
        }


        /**
         * 格式化日期字符串
         * @param dateStr
         * @return
         */
        private static String formatDateStr(String dateStr){
            String[] strs = dateStr.split("-");
            String str ="";
            for (int i = 0; i < strs.length; i++) {
                String ele = strs[i];
                if (i>0) {
                    if (ele.length()==1) {
                        ele = "0"+ele;
                    }
                    str=str+"-"+ele;
                }else {
                    str=ele;
                }
            }
            return str;
        }

        /**
         * 將SQL DATE類型轉換成Date類型
         * 
         * @param sqlDate
         * @return
         */
        public static Date sqlDateToDate(java.sql.Date sqlDate) {
            long time = sqlDate.getTime();
            Date date = new Date(time);
            return date;
        }

        /**
         * 將Util Date類型轉換成為Sql Date
         * 
         * @return
         */
        public static Timestamp currentDateToSQLTimestamp() {
            Date date = new Date();
            Timestamp timestamp = new Timestamp(date.getTime());
            return timestamp;
        }

        /**
         * 將Util Date類型轉換成為Sql Date
         * @param date
         * @return
         */
        public static Timestamp dateToSQLTimestamp(Date date){
            if (date!=null) {
                Timestamp timestamp = new Timestamp(date.getTime());
                return timestamp;
            }
            return null;
        }

        /**
         * 將timestamp轉換成為Date類型
         * @param timestamp
         * @return Date
         */
        public static Date SQLTimestampToDate(Timestamp timestamp){
            if (timestamp!=null) {
                Date date = new Date(timestamp.getTime());
                return date;
            }
            return null;
        }

        /**
         * 與系統時間比較
         * @param expiredTime
         * @return boolean
         */
        public static boolean checkExpiredTime(Date expiredTime) {
            if (expiredTime != null) {
                Date nowDate = new Date();
                if (expiredTime.before(nowDate)) {
                    return true;
                } else {
                    return false;
                }
            }
            return false;
        }


        /**
         * 日期計算
         * @param field
         * @param calCount
         * @return
         */
        public static Date calculateDate(Date orgDate,int field,int calCount){
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(orgDate);
            calendar.add(field, calCount);
            orgDate = calendar.getTime();
            return orgDate;
        }

        /**
         * 設置修改日期內容
         * @param orgDate
         * @param field
         * @param setValue
         * @return
         */
        public static Date calculateSetDate(Date orgDate,int field,int setValue){
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(orgDate);
            calendar.set(field, setValue);
            orgDate = calendar.getTime();
            return orgDate;
        }
    }

    /**
     * 字符串處理工具
     * @author 11
     */
    public static class STRING{
        /**
         * 驗證字符串是否為空
         * 
         * @param str
         * @return
         */
        public static boolean checkStrNull(String str) {
            if (str != null && str.trim().length() > 0) {
                return false;
            } else {
                return true;
            }
        }


        private static final int MAX_GENERATE_COUNT = 99999;
        private static int generateCount = 0;
        public static synchronized String getUniqueString() {
            if (generateCount > MAX_GENERATE_COUNT)
                generateCount = 0;
            String uniqueNumber = Long.toString(System.currentTimeMillis()) + Integer.toString(generateCount);
            generateCount++;
            return uniqueNumber;
        }

        /**
         * 將字符串中的中文轉成nicode碼
         * @param str
         * @return
         */
        public static String chineseToUnicode(String str){
            String result="";
            for (int i = 0; i < str.length(); i++){
                int chr1 = (char) str.charAt(i);
                if(chr1>=19968&&chr1<=171941){//漢字范圍 \u4e00-\u9fa5 (中文)
                    result+="\\u" + Integer.toHexString(chr1);
                }else{
                    result+=str.charAt(i);
                }
            }
            try {
                result = new String(result.getBytes(),"utf-8");
            } catch (Exception e) {
                System.out.println("不支持的編碼格式");
            }
            return result;
        }



        /**
         * 對字符串進行正則驗證
         * @param str
         * @param reg
         * @return Boolean
         */
        public static Boolean checkStrignReg(String str, String reg) {
            boolean regCheck = str.matches(reg);
            return regCheck;
        }

        /**
         * 替換字符
         * @param str
         * @param oldChar
         * @param newChar
         * @return
         */
        public static String replace(String str,String oldChar,String newChar){
            if (StringUtils.isNotEmpty(str)) {
                str = str.replace(oldChar, newChar);
            }
            return str;
        }

        /**
         * MD5加密字符串
         * @param password
         * @return
         */
        public static String cipherPassword(String password){
            String cipherPassword = DigestUtils.md5Hex(password);
            return cipherPassword;
        }

        /**
         * 取出字符串中含有的空格
         * @param str
         * @return
         */
        public static String removeBlanksInString(String str) {
            if (str != null && str.trim().length() > 0) {
                str = str.replace(" ", "");
            }
            return str;
        }

        /**
         * 將字符串分割成為
         * @param str
         * @param sign
         * @return String[]
         */
        public static String[] seperateStringToStrings(String str, String sign) {
            if (str != null && str.trim().length() > 0) {
                if (str.contains(sign)) {
                    return str.split(sign);
                }
            }
            return null;
        }

        /**
         * 將字符串以字符分割
         * @param orgStr
         * @param splitRange
         * @param sign
         * @return
         */
        public static String splitWithSign(String orgStr,Integer splitRange,String sign){
            if (StringUtils.isNotEmpty(orgStr)) {
                Integer length = orgStr.length();
                if (length > splitRange) {
                    Integer splitNums = length/splitRange;
                    Integer lastMod = length % splitRange;
                    if (lastMod>0) {
                        splitNums = splitNums+1;
                    }

                    String[] results = new String[splitNums];

                    for (int i = 0; i < splitNums; i++) {
                        Integer startIndex = i*splitRange;
                        Integer endIndex = (i+1)*splitRange;
                        if (endIndex>length) {
                            endIndex = length;
                        }
                        results[i] = orgStr.substring(startIndex,endIndex);
                    }

                    String newStr = "";

                    int length2 = results.length;
                    if (ArrayUtils.isNotEmpty(results)) {
                        for (int i = 0; i < length2; i++) {
                            if(i==0){
                                newStr = results[i];
                            }else {
                                newStr = newStr +sign+ results[i];
                            }
                        }
                    }

                    return newStr;
                }
            }
            return orgStr;
        }
    }

    /**
     * 集合類處理工具
     * 
     * @author 11
     */
    public static class COLLECTION {
        public static Long[] longsListToLongs(List<Long> longList) {
            if (CollectionUtils.isNotEmpty(longList)) {
                Long[] longArray = new Long[longList.size()];
                for (int i = 0; i < longList.size(); i++) {
                    longArray[i] = longList.get(i);
                }
                return longArray;
            }
            return null;
        }

        public static Object[] objectsListToObjects(List<Object> objList) {
            if (CollectionUtils.isNotEmpty(objList)) {
                Object[] array = new Object[objList.size()];
                array = objList.toArray(array);
                return array;
            }
            return null;
        }
    }

    public static class ARRAY{
        public static boolean checkIntInInts(int[] results, int i) {
            if (ArrayUtils.isNotEmpty(results)) {
                for (Integer integer : results) {
                    if (integer > i) {
                        return true;
                    }
                }
            }
            return false;
        }


        /**
         * 驗證數組中是否包含不為空的內容
         * @param strings
         * @return
         */
        public static boolean checkStringsAllNull(String...strings){
            if (ArrayUtils.isNotEmpty(strings)) {
                for (String string : strings) {
                    if (StringUtils.isNotEmpty(string)) {
                        return true;
                    }
                }
            }
            return false;
        }

        /**
         * 將Integer類型數組轉換成為Long類型數組
         * @param orgArrays
         * @return
         */
        public static Long[] integersToLongs(Integer[] orgArrays){
            if (ArrayUtils.isNotEmpty(orgArrays)) {
                Long[] results = new Long[orgArrays.length];
                for (int i = 0; i < orgArrays.length; i++) {
                    results[i] = new Long(orgArrays[i]);
                }
                return results;
            }
            return null;
        }

        /**
         * 將String類型數組,轉換成為Long類型數組
         * @param orgArrays
         * @return
         */
        public static Long[] stringsToLongs(String[] orgArrays){
            if (ArrayUtils.isNotEmpty(orgArrays)) {
                Long[] results = new Long[orgArrays.length];
                for (int i = 0; i < orgArrays.length; i++) {
                    results[i] = new Long(orgArrays[i]);
                }
                return results;
            }
            return null;
        }

        /**
         * 將對象數組轉成字符串
         * @param array
         * @return
         */
        public static String objectsToStrings(Object[] array,String sepSign) {
            if (array != null && array.length > 0) {
                String result = "";
                for (int i = 0; i < array.length; i++) {
                    if (i==0) {
                        result = array[0].toString();
                    }else {
                        result = result+sepSign+array[i];
                    }
                }
                return result;
            }
            return null;
        }


        /**
         * 驗證字符串數組中是否存在字符串
         * @param strs
         * @param str
         * @return Boolean
         */
        public static Boolean checkStringInStrings(String[] strs, String str) {
            if (strs != null && strs.length > 0) {
                for (String string : strs) {
                    if (string.equals(str)) {
                        return true;
                    }
                }
            }
            return false;
        }

        /**
         * 對象數組轉成字符數組
         * @param objArray
         * @return
         */
        public static String[] objectsToStrings(Object[] objArray) {
            if (ArrayUtils.isNotEmpty(objArray)) {
                String[] strArray = new String[objArray.length];
                for (int i = 0; i < objArray.length; i++) {
                    strArray[i] = (String) objArray[i];
                }
                return strArray;
            }
            return null;
        }

        /**
         * 將字符串數組中的元素合并成為一個字符串
         */
        public static String comb2Str(String[] strs, String sign) {
            String combStr = "";
            if (strs != null && strs.length > 0) {
                for (int i = 0; i < strs.length; i++) {
                    combStr = strs[i] + sign + combStr;
                }
            }
            return combStr;
        }
    }

    public static class JSON{
        /**
         * 將JSONArray字符串轉成Sting數組
         * @param jsonArrayStr
         * @return
         */
        public static Integer[] jsonArrayToIntegerArray(String jsonArrayStr){
            if (StringUtils.isNotEmpty(jsonArrayStr)) {
                JSONArray jsonArray = JSONArray.fromObject(jsonArrayStr);
                Integer[] array = new Integer[jsonArray.size()];
                array = (Integer[]) jsonArray.toArray(array);
                return array;
            }
            return null;
        }
    }

    public static void main(String[] args) {
        String value = MyUtilTool.DATE.currentDateString(null);
        System.out.println(value);
    }
}
 本文由用戶 jxuf9925 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!