zoukankan      html  css  js  c++  java
  • 字符串操作工具类

    import java.io.PrintWriter;
    import java.io.StringWriter;
    import java.lang.reflect.Field;
    import java.util.List;
    
    import com.sdp.core.config.Bs;
    
    import jodd.util.StringUtil;
    
    /**
     * 字符串操作工具类
     * @author Administrator
     *
     */
    public abstract class Str {
    
        /**
         * 获取UTF-8编码字符串
         * @return
         */
        public static String encodeUTF8(String str){
            String result = "";
            try {
                if(StringUtil.isEmpty(str)){
                    throw new Exception("转码字符串不能为空!");
                }
                result = new String(str.getBytes("ISO-8859-1"),Bs.Common.ENCODE_TYPE);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
        
        /**
         * 获取UTF-8编码字符串
         * @return
         */
        public static String encodeISO88591(String str){
            String result = "";
            try {
                if(str.isEmpty()){
                    throw new Exception("转码字符串不能为空!");
                }
                result = new String(str.getBytes(Bs.Common.ENCODE_TYPE),"ISO-8859-1");
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
        
        /**
         * 获取系统错误信息
         * @param t
         * @return
         */
        public static String getStackTrace(Throwable t) {
            if(t != null){
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                try {
                    t.printStackTrace(pw);
                    return sw.toString();
                } finally {
                    pw.close();
                }
            }
            return null;
        }
        
        /**
         * 获取模糊查询字符串
         * @param t
         * @return
         */
        public static String getLikeAfter(String str) {
            if(StringUtil.isEmpty(str)){
                return "%";
            }else{
                return str + "%";
            }
        }
        
        /**
         * 获取模糊查询字符串
         * @param t
         * @return
         */
        public static String getLike(String str) {
            if(StringUtil.isEmpty(str)){
                return "%";
            }else{
                return "%" + str + "%";
            }
        }
        
        /**
         * 将list集合拼接成'字符串'
         * @param lists String类型集合
         * @return
         */
        public static String getListPropStr(List<String> lists){
            String paramStrs = "";
            for(String param:lists){
                 paramStrs += "'"+param.toString()+"',";
            }
            if(paramStrs.length()>0)
                 paramStrs = paramStrs.substring(0,paramStrs.length()-1);
            return paramStrs;
        }
        
        /**
         * 将list集合拼接成'字符串'
         * @param lists Object对象集合
         * @return
         * @throws IllegalAccessException 
         * @throws InstantiationException 
         */
        public static <T> String getListPropStr(List<T> lists,String prop) throws Exception{
            String paramStrs = "";
            String value = "";
            for(T t:lists){
                 Field[] fields = t.getClass().getDeclaredFields();
                 for(Field field : fields){
                     if(field.getName().equals(prop)){
                         field.setAccessible(true);
                         value = (String) field.get(t);
                         paramStrs += "'"+value+"',";
                         break;
                     }
                 }
            }
            if(paramStrs.length()>0)
                 paramStrs = paramStrs.substring(0,paramStrs.length()-1);
            return paramStrs;
        }
        
        
        
    }
  • 相关阅读:
    VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程
    VS调试_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));崩溃原因及解决方法
    使用libcurl下载文件小例
    [工具] 程序员必须软件
    [Linux] Linux软连接和硬链接
    [Android Pro] Android的Animation之LayoutAnimation使用方法
    [Java基础] java的守护线程与非守护线程
    [Linux] 守护进程和守护线程
    [Linux] linux文件系统学习
    [Java基础] Java线程复习笔记
  • 原文地址:https://www.cnblogs.com/zt528/p/5416705.html
Copyright © 2011-2022 走看看