常用工具类

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("‘", "'");   //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();   
//                }

}

时间: 2024-11-10 01:24:31

常用工具类的相关文章

Android 常用工具类之SPUtil,可以修改默认sp文件的路径

参考: 1. 利用Java反射机制改变SharedPreferences存储路径    Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.SharedPreferences; import java.io.

js常用工具类.

一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * 使用方式一: * var now = new Date(); * var nowStr = now.dateFormat("yyyy-MM-dd hh:mm:ss"); * 使用方式二: * new Date().dateFormat("yyyy年MM月dd日");

[C#] 常用工具类——文件操作类

/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在</para> /// <para> IsImgFilename:判断文件名是否为浏览器可以直接显示的图片文件名</para> /// <para> CopyFiles:复制指定目录的所有文件</para> /// <para> MoveFi

[C#] 常用工具类——直接在浏览器输出数据

/// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> -------------------------------------------------------------</para> /// <para> DumpDataTable:接在浏览器输出数据DataTable</para> /// <para> DumpListIt

c#常用工具类:文件和二进制转换

//================二进制相关转换类============== #region 将文件转换为二进制数组 /// <summary> /// 将文件转换为二进制数组 /// </summary> /// <param name="FilePath">文件完整路径</param> /// <returns>二进制数组</returns> public static byte[] FileToBinar

java常用工具类(java技术交流群57388149)

package com.itjh.javaUtil; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * @author 宋立君 * @date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NOT_FOUND = -1; private static final String EMPTY =

[C#] 常用工具类——应用程序属性信息访问类

using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——应用程序属性信息访问类 /// <para> -------------------------------------------</para&g

C#常用工具类——Excel操作类

/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> /// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para> /// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

[C#] 常用工具类——加密解密类

using System; using System.Configuration; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using S

[C#] 常用工具类——系统日志类

using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——系统日志类 /// <para> ---------------------------------------------------</par