项目中常用的工具类

来源:互联网 发布:淘宝助理旧版本下载 编辑:程序博客网 时间:2024/06/14 19:02

import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @File: EasyStr.java
 * @Date: Feb 2, 2012
 * @Descrip:常用字符串及数组操作
 */
public class EasyStr {
       /**
        * 判断字符串是否为Null或空字符串
        * @param 要判断的字符串
        * @return true-是空字符串,false-不是空字符串
        */
       public static boolean nil(String s) {
              if (s == null || s.equals("")) {
                     return true;
              }
              return false;
       }

       /**
        * 字符串数组转换为字符串,使用分隔符号分隔 spliter -- 分隔符号
        */
       public static String split(String[] s, String spliter) {
              if (EasyStr.nil(s))
                     return "";
              if (s.length == 1)
                     return s[0];
              StringBuffer sb = new StringBuffer();
              for (int i = 0; i < s.length; i++) {
                     sb.append(s[i]).append(spliter);
              }
              sb.deleteCharAt(sb.lastIndexOf(spliter));
              return sb.toString();
       }

       /**
        * 如果第一个字符串不为空则返回该字符串,否则返回第二个
        */
       public static String nil(String s, String _default) {
              if (EasyStr.nil(s))
                     return _default;
              else
                     return s;
       }

       /**
        * 判断字符串数组是否为空
        */
       public static boolean nil(String[] s) {
              return (s == null || s.length == 0);
       }

       /**
       * 如果数组为空,则返回空数组
       */
       public static String[] notNil(String[] s) {
              if (s == null || s.length == 0) {
                     return new String[0];
              }
              return s;
       }

       /**
       * 改变字符串编码到gbk
       */
       public static String toGBK(String src) {
              if (nil(src))
                     return "";
              String s = null;
              try {
                     s = new String(src.getBytes("ISO-8859-1"), "GBK");
              } catch (UnsupportedEncodingException e) {
                     e.printStackTrace();
              }
              return s;
       }

       /**
       * 改变字符串编码到utf8
       */
       public static String toUTF8(String src) {
              if (nil(src))
                     return "";
              String s = null;
              try {
                     s = new String(src.getBytes("ISO-8859-1"), "UTF-8");
              } catch (UnsupportedEncodingException e) {
                     e.printStackTrace();
              }
              return s;
       }

       /**
       * 转换String到boolean
       */
       public static boolean parseBoolean(String flag) {
              if (nil(flag))
                     return false;
              else if (flag.equals("true") || flag.equals("1") || flag.equals("是") || flag.equals("yes"))
                     return true;
              else if (flag.equals("false") || flag.equals("0") || flag.equals("否") || flag.equals("no"))
                     return false;
              return false;
       }

       /**
       * 转换String到int <br>
       * null或空字符,返回0 <br>
       * true返回1 <br>
        * false返回0
        */
       public static int parseInt(String flag) {
              if (nil(flag))
                     return 0;
              else if (flag.equals("true"))
                     return 1;
              else if (flag.equals("false"))
                     return 0;
              return Integer.parseInt(flag);
       }

       /**
       * 转换String到long
       */
       public static long parseLong(String flag) {
              if (nil(flag))
                     return 0;
              return Long.parseLong(flag);
       }

       /**
       * 字符填充
       * @param source - 源字符串<br>
       * @param filler - 填充字符,如0或*等 <br>
       * @param length - 最终填充后字符串的长度 <br>
       * @return 最终填充后字符串
       */
       public static String fill(String source, String filler, int length) {
              StringBuffer sb = new StringBuffer();
              for (int i = 0; i < length - source.length(); i++) {
                     sb.append(filler);
              }
              sb.append(source);
              return sb.toString();
       }

       /**
       * 将字串转成日期,字串格式: yyyy-MM-dd
       */
       public static Date parseDate(String string) {
              try {
                     DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                     return (Date) formatter.parse(string);
              } catch (Exception ex) {
                     ex.printStackTrace();
                     return null;
              }
       }

       /**
       * 字符串数组中是否包含指定的字符串
       * @param strings 字符串数组
       * @param string   字符串
       * @param caseSensitive 是否大小写敏感
       * @return 包含时返回true,否则返回false
       */
       public static boolean contains(String[] strings, String string, boolean caseSensitive) {
              for (int i = 0; i < strings.length; i++) {
                     if (caseSensitive == true) {
                            if (strings[i].equals(string)) {
                                   return true;
                            }
                     } else {
                            if (strings[i].equalsIgnoreCase(string)) {
                                   return true;
                            }
                     }
              }
              return false;
       }

       /**
       * 返回一个整数数组
        */
       public static int[] parseInt(String[] s) {
              if (s == null) {
                     return (new int[0]);
              }
              int[] result = new int[s.length];
              try {
                     for (int i = 0; i < s.length; i++) {
                            result[i] = Integer.parseInt(s[i]);
                     }
              } catch (NumberFormatException ex) {
              }
              return result;
       }

       /**
       * 返回一个整数数组
       * @return int[]
       */
       public static int[] split(String s) {
              if (nil(s))
                     return new int[0];
              if (s.indexOf(",") > -1) {
                     return EasyStr.split(s, ",");
              } else {
                     int[] i = new int[1];
                     i[0] = Integer.parseInt(s);
                     return i;
              }
       }

       /**
       * 返回一个整数数组
       * @param spliter 分隔符如逗号
       * @return int[]
       */
       public static int[] split(String s, String spliter) {
              if (s == null || s.indexOf(spliter) == -1) {
                     return (new int[0]);
              }
              String[] ary = s.split(spliter);
              int[] result = new int[ary.length];
              try {
                     for (int i = 0; i < ary.length; i++) {
                            result[i] = Integer.parseInt(ary[i]);
                     }
              } catch (NumberFormatException ex) {
              }
              return result;
       }

       /**
        * 将整型数组合并为用字符分割的字符串
        */
       public static String join(int[] arr) {
              if (arr == null || arr.length == 0)
                     return "";
              StringBuffer sb = new StringBuffer();
              for (int i = 0, len = arr.length; i < len; i++) {
                     sb.append(",").append(arr[i]);
              }
              sb.deleteCharAt(0);
              return sb.toString();
       }

       /**
       * 将字符串的第一个字母大写
       */
       public static String firstCharToUpperCase(String s) {
              if (s == null || s.length() < 1) {
                     return "";
              }
              char[] arrC = s.toCharArray();
              arrC[0] = Character.toUpperCase(arrC[0]);
              return String.copyValueOf(arrC);
       }

       /**
       * 根据当前字节长度取出加上当前字节长度不超过最大字节长度的子串
       */
       public static String getSubStr(String str, int currentLen, int MAX_LEN) {
              int i;
              for (i = 0; i < str.length(); i++) {
                     if (str.substring(0, i + 1).getBytes().length + currentLen > MAX_LEN) {
                            break;
                     }
              }
              if (i == 0) {
                     return "";
              } else {
                     return str.substring(0, i);
              }
       }

       public static String getRepaliceStr(String str) {
              String ret = "";
              str = str.replace("年", "-");
              str = str.replace("月", "-");
              str = str.replace("日", "-");
              return ret;
       }
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 舞东风积分卡怎么办 电信不注销欠费怎么办 养老宝忘记密码怎么办 学生信用卡0额度怎么办 微信商户号怎么办 企业Uk证书过期怎么办 加挂账号不知道怎么办 钱打到对公账户怎么办 新中付没有到账怎么办 qq把钱转错了怎么办 转账输错号码怎么办 给别人转错钱了怎么办 转账到信用卡了怎么办 银行卡限额怎么办京东 预留信息忘了怎么办 中信银行香港卡怎么办 无银行预留信息怎么办 农工商超市红利卡怎么办 余额宝转入不了怎么办 公司车辆怎么办营运证 便利店转不出去怎么办 便利店开业营业额低怎么办 现在etc超时了怎么办? 中国银行e贷逾期怎么办 招商银行e分期逾期怎么办 保单贷款还不了怎么办 离婚时按揭房怎么办 按揭房子不要了怎么办? 征信有问题怎么办房贷 夫妻一方不做房贷共还人怎么办 给你花逾期一年怎么办 文件夹密码忘记了怎么办 网址被qq拦截怎么办 手机qq邮箱中毒怎么办 邮箱附件带病毒怎么办? 打开了病毒附件怎么办? qq邮箱被拦截怎么办 邮件地址已被注册怎么办 信用卡欠款怎么办房贷 贷款还不起了怎么办 装修贷款无抵押怎么办