<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;
        }


        /**
         * 獲取當(dāng)前時間,返回時間格式(如果調(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)的下標(biāo)值,查不到則返回值為-1
         */
        public static int contains(Object[] objArray, Object value) {
            int j = -1;
            for (int i = 0; i < objArray.length; i++) {
                if (objArray.equals(value)) { //查到則返回下標(biāo)
                    j = i;
                    break;
                }
            }
            return j;
        }

        /**
         * 字符串?dāng)?shù)組中是否包含指定的字符串。
         * @param strings 字符串?dāng)?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ù)組中的重復(fù)元素,調(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中的重復(fù)對象
            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
    主站蜘蛛池模板: 久久亚洲精品无码播放| 亚洲免费精彩视频在线观看| 国产免费MV大全视频网站| 亚洲精品你懂的在线观看| 最近免费mv在线电影| 亚洲中文字幕AV每天更新| 亚洲人成无码网站久久99热国产| 欧洲人免费视频网站在线| 亚洲精品无码专区在线| 亚洲人成网站在线观看青青| 黄页网站在线观看免费高清| 九九久久精品国产免费看小说| 亚洲精品视频久久| 亚洲?v女人的天堂在线观看| 99在线在线视频免费视频观看| 在线播放亚洲精品| 亚洲美女在线观看播放| 亚洲高清成人一区二区三区| 亚洲精品视频在线观看免费| 一区二区免费国产在线观看| 亚洲一区免费在线观看| 国产AV无码专区亚洲AV男同| 成人爱做日本视频免费| 外国成人网在线观看免费视频| 国产天堂亚洲精品| 亚洲人色大成年网站在线观看| 亚洲色成人中文字幕网站| 德国女人一级毛片免费| 中文字幕在线观看免费视频| 中美日韩在线网免费毛片视频 | 亚洲爆乳无码专区| 国产精品高清全国免费观看| 午夜精品免费在线观看| 美女羞羞视频免费网站 | 久久久久久免费一区二区三区| 男人的天堂av亚洲一区2区| 亚洲成综合人影院在院播放| 亚洲AV日韩AV天堂一区二区三区 | 日韩黄色免费观看| 国产精品1024永久免费视频| 久久精品免费电影|