码迷,mamicode.com
首页 > 其他好文 > 详细

常用工具类

时间:2015-09-10 12:29:16      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

package com.gkui.tols;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

/**
 * @author gzkui
 *  工具类
 */
public class JiveGlobe {
    
        private JiveGlobe(){
        }
        private static class JiveGlobeHolder{
            private static JiveGlobe instance = new JiveGlobe();
        }
        public static JiveGlobe getInstance() {
            return JiveGlobeHolder.instance;
        }

        //对象
        public static  boolean isEmpty(Object obj){
              if (obj == null)  
                    return true;  
                if (obj instanceof CharSequence)  
                    return ((CharSequence) obj).length() == 0;  
                if (obj instanceof Collection)  
                    return ((Collection) obj).isEmpty();  
                if (obj instanceof Map)  
                    return ((Map) obj).isEmpty();  
                if (obj instanceof Object[]) {  
                    Object[] object = (Object[]) obj;  
                    if (object.length == 0) {  
                        return true;  
                    }  
                    boolean empty = true;  
                    for (int i = 0; i < object.length; i++) {  
                        if (!isEmpty(object[i])) {  
                            empty = false;  
                            break;  
                        }  
                    }  
                    return empty;  
                }  
                return false;  
        }
        
        //数组
                public static boolean isEmpty(String[] str){
                // str = new String[]{"segs","segs"};
                 boolean temp = true;
                 if(str==null || (str!=null&& str.length==0)){
                 }else{
                     temp = false;
                 }
                 return temp;
            }
            
                //集合
                public static <T> boolean isEmpty(List<T> str){
                boolean temp = true;
                if(str==null || str.isEmpty()){
                }else{
                    temp = false;
                }
                return temp;
            }
            
              //字符串
                public static boolean isEmpty(String input) {
                    return null==input || 0==input.length() || 0==input.replaceAll("\\s", "").length();
                }
            
                
                //字节数组
                public static boolean isEmpty(byte[] bytes){
                     return null==bytes || 0==bytes.length;
                }
                
                
                /**
                 * 程序优化
                 * @see 该系列方法用于对字符串的一些常规执行速度优化处理
                 */
                 public static String getFromSpendSubstring(String str, int begin, int end){
                     return new String(str.substring(begin, end));
                    
                 }
                
                 public static List<String> getFromSpendSpilt(String str, String str1){
                     StringTokenizer st = new StringTokenizer(str,str1);
                     List<String> list = new ArrayList<String>();
                     while (st.hasMoreTokens()){
                         list.add(st.nextToken());
                     }
                    return list;
                    
                 }
                
                 /**
                  * <p>
                  * 反转字符串.
                  * </p>
                  *
                  * @param str
                  *            源字符串
                  * @return String
                  */
                 public static String getFromReverse(String str) {  
                     if (str == null) {  
                         return null;  
                     }  
                     return new StringBuilder(str).reverse().toString();  
                 }  
                 
                 
                /**
                 * 获取Map中的属性
                 * @see 该方法的参数适用于打印Map<String, byte[]>的情况
                 * @return String key11=value11 \n key22=value22 \n key33=value33 \n......
                 */
                public static String getFromMap(Map<String, String> map){
                    StringBuilder sb = new StringBuilder();
                    sb.append(map.getClass().getName()).append("@").append(map.hashCode()).append("[");
                    for(Map.Entry<String,String> entry : map.entrySet()){
                        sb.append("\n").append(entry.getKey()).append("=").append(entry.getValue());
                    }
                    return sb.append("\n]").toString();
                }
                
                

                /**
                 * 获取Map中的属性
                 * @see 该方法的参数适用于打印Map<String, byte[]>的情况
                 * @return String key11=value11 \n key22=value22 \n key33=value33 \n......
                 */
                public static String getFromMapForByte(Map<String, byte[]> map){
                    StringBuilder sb = new StringBuilder();
                    sb.append(map.getClass().getName()).append("@").append(map.hashCode()).append("[");
                    for(Map.Entry<String,byte[]> entry : map.entrySet()){
                        sb.append("\n").append(entry.getKey()).append("=").append(new String(entry.getValue()));
                    }
                    return sb.append("\n]").toString();
                }
                
                
                /**
                 * 获取Map中的属性
                 * @see 该方法的参数适用于打印Map<String, Object>的情况
                 * @return String key11=value11 \n key22=value22 \n key33=value33 \n......
                 */
                public static String getFromMapForObject(Map<String, Object> map){
                    StringBuilder sb = new StringBuilder();
                    sb.append(map.getClass().getName()).append("@").append(map.hashCode()).append("[");
                    for(Map.Entry<String,Object> entry : map.entrySet()){
                        sb.append("\n").append(entry.getKey()).append("=").append(entry.getValue().toString());
                    }
                    return sb.append("\n]").toString();
                }
                
                

                /**
                 * 金额元转分
                 * @see 注意:该方法可处理贰仟万以内的金额,且若有小数位,则不限小数位的长度
                 */
                public static String getFromToFen(String amount){
                    if(isEmpty(amount)){
                        return amount;
                    }
                    //传入的金额字符串代表的是一个整数
                    if(-1 == amount.indexOf(".")){
                        return Integer.parseInt(amount) * 100 + "";
                    }
                    //传入的金额字符串里面含小数点-->取小数点前面的字符串,并将之转换成单位为分的整数表示
                    int money_fen = Integer.parseInt(amount.substring(0, amount.indexOf("."))) * 100;
                    //取到小数点后面的字符串
                    String pointBehind = (amount.substring(amount.indexOf(".") + 1));
                    //amount=12.3
                    if(pointBehind.length() == 1){
                        return money_fen + Integer.parseInt(pointBehind)*10 + "";
                    }
                    //小数点后面的第一位字符串的整数表示
                    int pointString_1 = Integer.parseInt(pointBehind.substring(0, 1));
                    //小数点后面的第二位字符串的整数表示
                    int pointString_2 = Integer.parseInt(pointBehind.substring(1, 2));
                    //amount==12.03,amount=12.00,amount=12.30
                    if(pointString_1 == 0){
                        return money_fen + pointString_2 + "";
                    }else{
                        return money_fen + pointString_1*10 + pointString_2 + "";
                    }
                }
                
                
                /**
                 * HTML字符转义
                 * @see 对输入参数中的敏感字符进行过滤替换,防止用户利用JavaScript等方式输入恶意代码
                 */
                public static String getFormEscape(String input) {
                    if(isEmpty(input)){
                        return input;
                    }
                    input = input.replaceAll("&", "&amp;");
                    input = input.replaceAll("<", "&lt;");
                    input = input.replaceAll(">", "&gt;");
                    input = input.replaceAll(" ", "&nbsp;");
                    input = input.replaceAll("‘", "&#39;");   //IE暂不支持单引号的实体名称,而支持单引号的实体编号,故单引号转义成实体编号,其它字符转义成实体名称
                    input = input.replaceAll("\"", "&quot;"); //双引号也需要转义,所以加一个斜线对其进行转义
                    input = input.replaceAll("\n", "<br/>");  //不能把\n的过滤放在前面,因为还要对<和>过滤,这样就会导致<br/>失效了
                    return input;
                }
                
                
                /**
                 * 拼音工具类
                 */
                
                /**
                 * 将字符串中的中文转化为拼音,其他字符不变
                 *
                 * @param inputString
                 * @return
                 */
//                public static String getFromPingYin(String inputString) {
//                    HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
//                    format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
//                    format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//                    format.setVCharType(HanyuPinyinVCharType.WITH_V);
//            
//                    char[] input = inputString.trim().toCharArray();
//                    String output = "";
//            
//                    try {
//                        for (int i = 0; i < input.length; i++) {
//                            if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
//                                String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
//                                output += temp[0];
//                            } else
//                                output += java.lang.Character.toString(input[i]);
//                        }
//                    } catch (BadHanyuPinyinOutputFormatCombination e) {
//                        e.printStackTrace();
//                    }
//                    return output;
//                }
                
                /**  
                 * 获取汉字串拼音首字母,英文字符不变  
                 * @param chinese 汉字串  
                 * @return 汉语拼音首字母  
                 */  
//                public static String getFromFirstSpell(String chinese) {   
//                        StringBuffer pybf = new StringBuffer();   
//                        char[] arr = chinese.toCharArray();   
//                        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
//                        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
//                        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
//                        for (int i = 0; i < arr.length; i++) {   
//                                if (arr[i] > 128) {   
//                                        try {   
//                                                String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);   
//                                                if (temp != null) {   
//                                                        pybf.append(temp[0].charAt(0));   
//                                                }   
//                                        } catch (BadHanyuPinyinOutputFormatCombination e) {   
//                                                e.printStackTrace();   
//                                        }   
//                                } else {   
//                                        pybf.append(arr[i]);   
//                                }   
//                        }   
//                        return pybf.toString().replaceAll("\\W", "").trim();   
//                }   
                /**  
                 * 获取汉字串拼音,英文字符不变  
                 * @param chinese 汉字串  
                 * @return 汉语拼音  
                 */  
//                public static String getFromFullSpell(String chinese) {   
//                        StringBuffer pybf = new StringBuffer();   
//                        char[] arr = chinese.toCharArray();   
//                        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
//                        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
//                        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
//                        for (int i = 0; i < arr.length; i++) {   
//                                if (arr[i] > 128) {   
//                                        try {   
//                                                pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);   
//                                        } catch (BadHanyuPinyinOutputFormatCombination e) {   
//                                                e.printStackTrace();   
//                                        }   
//                                } else {   
//                                        pybf.append(arr[i]);   
//                                }   
//                        }   
//                        return pybf.toString();   
//                }  
                    
    

}

常用工具类

标签:

原文地址:http://www.cnblogs.com/kimobolo/p/4797299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!