<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-26  評論-13  文章-46  trackbacks-0
    在J2EE項目開發(fā)中使用到的一些自己寫的基本函數(shù)

    package jing.tools;

    import java.util.*;
    import java.text.*; //日期處理用到的包
    import java.util.regex.*;
    import java.lang.*;

    /**
    * <p>Title: 常用基礎(chǔ)函數(shù)</p>
    * <p>Description: 以下全部是靜態(tài)函數(shù)</p>
    * <p>Copyright: Copyright (c) 2005</p>
    * <p>Company: 靜靖工作室</p>
    * “@deprecated Method 方法名 is deprecated” 在方法的注釋里加上此注釋,表示此方法以后版本不再被支持。
    * 文件注釋只能寫在import后,類定義前才能在javadoc中出現(xiàn)文件的注釋
    * @author 歐朝敬 QQ:35712069
    * @version 1.0
    */
    public class BaseFunction {
        public BaseFunction() {

        }

        /**
         * 拼合一維數(shù)組為字符串。
         * <B>拆分字串按指定字符分解到一維數(shù)組使用String類的split(String regex)</B>
         * @param param String[] 數(shù)組
         * @param spilt String 字符串之單的分離符
         * @return String
         */
        public static String arrayToString(String[] param, String spilt) {
            String rentunstring;
            StringBuffer tempstr = new StringBuffer();
            int len = param.length;
            for (int i = 0; i < len - 1; i++) {
                tempstr.append(param);
                tempstr.append(spilt);
            }
            tempstr.append(param[len - 1]);
            rentunstring = tempstr.toString();
            return rentunstring;
        }

        /**
         * 產(chǎn)生在start和end之間的num個隨機整數(shù),返回值存在HashMap中。
         * 示例
         * HashMap hm=BaseFunction.random(1,100,5);
         * Set set=hm.keySet();
         * Iterator it=set.iterator();
         * while(it.hasNext()){
         *     System.out.println(hm.get(it.next()));
         * }
         * @param start int 起始點
         * @param end int 結(jié)束點
         * @param num int 生成個數(shù)
         * @return HashMap
         */
        public static HashMap random(int start, int end, int num) {
            HashMap hashMap = new HashMap();
            for (int i = 0; i < num; i++) {
                double sru = Math.random() * end;
                int tag = Math.round((float) sru);
                if (tag < start) {
                    i--;
                } else {
                    hashMap.put(new Integer(i), new Integer(tag));
                }
            }
            return hashMap;
        }


        /**
         * 獲取當前時間,返回時間格式(如果調(diào)用參數(shù)為true時返回yyyy-MM-dd HH:mm:ss
         * ,否則為false時返回yyyy-MM-DD不帶日期格式)
         * @param time boolean
         * @return String
         * @throws Exception
         */
        public static String getNowTime(boolean time) throws java.lang.Exception {
            Date now = new Date();
            String format = "";
            //yyyy-MM-dd HH:mm:ss:S 年月日時分秒毫杪
            if (time) {
                format = "yyyy-MM-dd HH:mm:ss";
            } else {
                format = "yyyy-MM-dd";
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            String nowtime = sdf.format(now);
            return nowtime;
        }

        /**
         * 將HashMap內(nèi)容轉(zhuǎn)入數(shù)組,
         * 示例
         *    HashMap hashMap = new HashMap();
         *    hashMap.put("ka", "bb");
         *    hashMap.put("kb", "cc");
         *    hashMap.put("jk", "fdsaf");
         *    hashMap.put("ak", "kkkkk");
         *    Object[] obj = BaseFunction.hashMapToArray(hashMap);
         *    for (int i = 0; i < obj.length; i++) {
         *        System.out.println(obj);
         *    }
         * @param param HashMap
         * @return Object[]
         */
        public static Object[] hashMapToArray(HashMap param) {
            int size = param.size();
            if (param == null || param.size() == 0) {
                return null;
            }
            Object[] obj = new Object[size];
            Set set = param.keySet();
            Iterator ite = set.iterator();
            for (int i = 0; ite.hasNext(); i++) {
                obj = param.get(ite.next());
            }
            return obj;
        }

        /**
         * 日期轉(zhuǎn)字符串
         * 示例:dateToString(stringToDate("2005-5-2 0:0:10"));
         * @param date Date
         * @return String
         * 返回字符串格式為“yyyy年MM月dd日 HH時mm分ss秒”或“yyyy年MM月dd日”
         * 根據(jù)輸入的日期是否含有時間來確定輸出格式
         */
        public static String dateToString(Date date) {
            Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"),
                                                     Locale.CHINA);
            calendar.clear();
            calendar.setTimeInMillis(date.getTime());
            String format = "";

            /*        if (calendar.get(Calendar.MILLISECOND) == 0 &&
                        calendar.get(Calendar.SECOND) == 0 &&
             calendar.get(Calendar.SECOND) == calendar.get(Calendar.MINUTE) &&
             calendar.get(Calendar.MINUTE) == calendar.get(Calendar.HOUR)) {
                        format = "yyyy'年'MM'月'dd'日'";
                    } else {
                     format = "yyyy'年'MM'月'dd'日' HH'時'mm'分'ss'秒'";
                    }
             */
            format = "yyyy'年'MM'月'dd'日' HH'時'mm'分'ss'秒'";
            String return_string = "";
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            //yyyy-MM-dd HH:mm:ss:S 年月日時分秒毫杪
            return_string = sdf.format(date);
            return return_string;
        }

        /**
         * 字符串轉(zhuǎn)日期
         * 示例:stringToDate("2005-5-2 0:0:10");
         * @param str String
         * 輸入字符串日期可用三種格式
         * yyyy-MM-dd HH:mm:ss完整式
         * yyyy-MM-dd HH:mm不含秒
         * yyyy-MM-dd只有日期不含時間
         * @return Date
         * @throws Exception
         */
        public static Date stringToDate(String str) throws Exception {
            Date return_date = null;
            String format = "";
            if (str.length() > 13) {
                format = "yyyy-MM-dd HH:mm:ss";
            } else if (str.length() > 10) {
                format = "yyyy-MM-dd HH:mm";
            } else {
                format = "yyyy-MM-dd";
            }
            try {
                SimpleDateFormat sdf = new SimpleDateFormat(format);
                return_date = sdf.parse(str);
            } catch (ParseException e) {
                throw new Exception(
                        "輸入字符串的格式出錯(格式為yyyy-MM-dd/yyyy-MM-dd HH:mm/yyyy-MM-dd HH:mm:ss):" +
                        e.getMessage());
            }
            return return_date;
        }

        /**
         * 連續(xù)產(chǎn)生指定個數(shù)的字符串
         * @param str String
         * @param count int
         * @return String
         */
        public static String continuousMakeString(String str, int count) {
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < count; i++) {
                sb.append(str);
            }
            return (sb.toString());
        }

        /**
         * 將字符串開頭的所有空格替換成指定的字符
         * 在JSP中經(jīng)常用到把字符串開頭的n個空格替換成n個&nbsp;字符
         * 就可以使用此函數(shù)調(diào)用示例
         * replaceStartsWithSpace("  中國  湖南  長沙","&nbsp;");結(jié)果為“&nbsp;&nbsp;中國  湖南  長沙”
         * @param str String
         * @param sub String
         * @return String
         */
        public static String replaceStartsWithSpace(String str, String sub) {
            String returnStr = "";
            String regEx = "\\S"; //非空格字符
            Pattern pattern = Pattern.compile(regEx);
            Matcher matcher = pattern.matcher(str);
            matcher.find();
            int start = matcher.start(); //非空格開始的位置
            for (int i = 0; i < start; i++) {
                returnStr = returnStr + sub;
            }
            returnStr = returnStr + str.substring(start);
            return returnStr;
        }

        /**
         * 查找指定的元素是否存在于元素數(shù)組中
         * 使用Object支持各種對象數(shù)組
         * 示例
         * String[] des = {"ada", "ss", "dd","aa"};
         * System.out.println(BaseFunction.contains(str, "adfab"));
         * @param objArray Object[]
         * @param value Object
         * @return int 如果查到則返回第一次在數(shù)組中出現(xiàn)的下標值,查不到則返回值為-1
         */
        public static int contains(Object[] objArray, Object value) {
            int j = -1;
            for (int i = 0; i < objArray.length; i++) {
                if (objArray.equals(value)) { //查到則返回下標
                    j = i;
                    break;
                }
            }
            return j;
        }

        /**
         * 字符串數(shù)組中是否包含指定的字符串。
         * @param strings 字符串數(shù)組
         * @param string 字符串
         * @param caseSensitive 是否大小寫敏感(true區(qū)分大小寫,false不區(qū)分大小寫)
         * @return 包含時返回true,否則返回false
         * @since  0.4
         */
        public static boolean contains(String[] strings, String string,
                                       boolean caseSensitive) {
            for (int i = 0; i < strings.length; i++) {
                if (caseSensitive == true) {
                    if (strings.equals(string)) {
                        return true;
                    }
                } else {
                    if (strings.equalsIgnoreCase(string)) {
                        return true;
                    }
                }
            }
            return false;
        }

        /**
         * 數(shù)組拷貝,建議使用System.arraycopy()速度更快,把source數(shù)據(jù)內(nèi)容拷貝到destination中
         * 使用Object則支持多種對象數(shù)組
         * 示例
         * String[] des = {"ada", "ss", "dd","aa"};
         * String[] src = new String[8];
         * BaseFunction.copy(des, src);
         * @param source Object[]
         * @param destination Object[]
         */
        public static void copy(Object[] source, Object[] destination) {
            if (destination == null || source == null) {
                throw new java.lang.NullPointerException("數(shù)組沒有初始化!");
            }
            if (destination.length < source.length) {
                throw new java.lang.ArrayIndexOutOfBoundsException("兩數(shù)組長度不相等!");
            }
            for (int i = 0; i < source.length; i++) {
                destination = source;
            }
        }

        /**
         * 去除數(shù)組中的重復元素,調(diào)用示例
         * String[] src = {"dafdfad", "asdfasdf", "dafdfad", "adfasdf", "dafdfad","dafdfad"};
         * Object[] test =BaseFunction.wipeOffRepeat(src);
         * @param objArray Object[]
         * @return Object[]
         */
        public static Object[] wipeOffRepeat(Object[] objArray) {
            Object[] obj = null;
            ArrayList list = new ArrayList();
            for (int i = 0; i < objArray.length; i++) {
                list.add(objArray);
            }
            //去除list中的重復對象
            HashSet h = new HashSet(list);
            list.clear();
            list.addAll(h);
            obj = list.toArray();
            return obj;
        }

        /**
         * 四舍五入
         * @param param double 要進行四舍五入的值
         * @param num int 保留的小數(shù)位數(shù)
         * @return double
         */
        public static double round(double param, int num) {
            NumberFormat nf = NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(num);
            double returndouble = Double.parseDouble(nf.format(param));
            return returndouble;
        }

        /**
         * 主函數(shù)做測試用
         * @param args String[]
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
            /*        System.out.println(BaseFunction.dateToString(stringToDate(
                            "2005-5-2 0:0:10")));
                    System.out.println(BaseFunction.getTime(true));
                    System.out.println(BaseFunction.continuousMakeString(" ", 10));
                    System.out.println(BaseFunction.replaceStartsSpace(
                            " fadsfas   dfsd", "&nbsp;"));
             */
            /*        HashMap hm=BaseFunction.random(1,100,5);
                    Set set=hm.keySet();
                    Iterator it=set.iterator();
                    while(it.hasNext()){
                        System.out.println(hm.get(it.next()));
                    }
             */
            //System.out.println(BaseFunction.replaceStartsWithSpace("  中國  湖南  長沙","&nbsp;"));
            System.out.println(BaseFunction.round(0.25689,2));
        }
    }
    posted on 2005-08-31 14:05 似水流年 閱讀(422) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲国产一区二区a毛片| 亚洲精品成a人在线观看夫| 成人永久免费高清| 亚洲第一页在线播放| 色播在线永久免费视频| 99久久99这里只有免费的精品| 亚洲大片免费观看| 亚洲欧洲精品成人久久奇米网| 91青青青国产在观免费影视| 日木av无码专区亚洲av毛片| 久久伊人免费视频| 国产精品成人亚洲| 无码高潮少妇毛多水多水免费| 久久国产精品免费一区| 亚洲妇女熟BBW| 亚洲AV午夜成人影院老师机影院| 我要看免费的毛片| 日本视频在线观看永久免费| 国产一区二区三区亚洲综合| 自怕偷自怕亚洲精品| 狠狠亚洲狠狠欧洲2019| 美女被免费视频网站a国产| 免费A级毛片在线播放| 一区二区三区免费高清视频| 久久精品国产亚洲AV蜜臀色欲| 久久国产亚洲精品麻豆| 99视频有精品视频免费观看 | 香蕉97碰碰视频免费| 免费不卡中文字幕在线| 2019中文字幕在线电影免费| 亚洲人成在线精品| 免费看片免费播放| 最近中文字幕国语免费完整 | 亚洲精品视频免费在线观看| 国产精品免费在线播放| 国产精品亚洲一区二区在线观看| 亚洲av片一区二区三区| 国产三级在线免费| jizz免费在线观看| 亚洲国产成人AV网站| 久久亚洲精品国产精品婷婷|