ITKeyword,专注技术干货聚合推荐

注册 | 登录

Java开发常用的方法

DL88250 分享于 2007-12-10

推荐:Java.lang.String 类常用方法

         String 类是 Java 中非常常用的类,如果能熟练掌握其方法,那编程速度会大大提升。 一. 构造函数 public String(char value[]) {

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

import java.util.*;
import java.text.*; //日期处理用到的包
import java.util.regex.*;
import java.lang.*;

/**
* <p>Title: 常用基础函数</p>
* <p>Description: 以下全部是静态函数</p>
*/
public class BaseFunction {
      public BaseFunction() {

      }

      /**
       * 拼合一维数组为字符串。
       * <B>拆分字串按指定字符分解到一维数组使用String类的split(String regex)</B>
       * @param param String[] 数组
       * @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;
      }

      /**
       * 产生在start和end之间的num个随机整数,返回值存在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 结束点
       * @param num int 生成个数
       * @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;
      }


      /**
       * 获取当前时间,返回时间格式(如果调用参数为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内容转入数组,
       * 示例
       *      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;
      }

      /**
       * 日期转字符串
       * 示例:dateToString(stringToDate("2005-5-2 0:0:10"));
       * @param date Date
       * @return String
       * 返回字符串格式为“yyyy年MM月dd日 HH时mm分ss秒”或“yyyy年MM月dd日”
       * 根据输入的日期是否含有时间来确定输出格式
       */
      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;
      }

推荐:Java面向对象基础--String类中常用的方法

split()和replaceAll()这两个方法需要正则支持。 public class StringAPIDemo06{ public static void mian(String args[]){ String str1 = " hello "; /

      /**
       * 字符串转日期
       * 示例: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;
      }

      /**
       * 连续产生指定个数的字符串
       * @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中经常用到把字符串开头的n个空格替换成n个&nbsp;字符
       * 就可以使用此函数调用示例
       * replaceStartsWithSpace("    中国    湖南    长沙","&nbsp;");结果为“&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;
      }

      /**
       * 查找指定的元素是否存在于元素数组中
       * 使用Object支持各种对象数组
       * 示例
       * String[] des = {"ada", "ss", "dd","aa"};
       * System.out.println(BaseFunction.contains(str, "adfab"));
       * @param objArray Object[]
       * @param value Object
       * @return int 如果查到则返回第一次在数组中出现的下标值,查不到则返回值为-1
       */
      public static int contains(Object[] objArray, Object value) {
          int j = -1;
          for (int i = 0; i < objArray.length; i++) {
              if (objArray.equals(value)) { //查到则返回下标
                  j = i;
                  break;
              }
          }
          return j;
      }

      /**
       * 字符串数组中是否包含指定的字符串。
       * @param strings 字符串数组
       * @param string 字符串
       * @param caseSensitive 是否大小写敏感(true区分大小写,false不区分大小写)
       * @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;
      }

      /**
       * 数组拷贝,建议使用System.arraycopy()速度更快,把source数据内容拷贝到destination中
       * 使用Object则支持多种对象数组
       * 示例
       * 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("数组没有初始化!");
          }
          if (destination.length < source.length) {
              throw new java.lang.ArrayIndexOutOfBoundsException("两数组长度不相等!");
          }
          for (int i = 0; i < source.length; i++) {
              destination = source;
          }
      }

      /**
       * 去除数组中的重复元素,调用示例
       * 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中的重复对象
          HashSet h = new HashSet(list);
          list.clear();
          list.addAll(h);
          obj = list.toArray();
          return obj;
      }

      /**
       * 四舍五入
       * @param param double 要进行四舍五入的值
       * @param num int 保留的小数位数
       * @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;
      }

/**
   * <p>
   * 判断字符串是否是小数
   * </p>
   * @param str String
   * @return boolean(true:小数/false:不是小数)
   */
public boolean validate(String str){
      char[] chrArr = str.toCharArray();
      for(int i=0;i<chrArr.length;i++){
          char c = chrArr[i];
          if(validate(c) == false){
              return false;
          }
      }
      return true;
}
public static boolean validate(char c){
   //半角数字的unicode范围(0-9,小数点)
   if( (c >= 0x30 && c <= 0x39) || c == 46 ){
    return true;
   }else{
       return false;
   }
}

/**
   * <p>
   * 取得ascii码
   * </p>
   * @param ch char
   * @return 字符的ascii码
   */
public String getAscii(char ch){
   int i = ch;
   return Integer.toString(i);
}

      /**
       * 主函数做测试用
       * @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));
      }
}

 

推荐:Java对象转为String的几种常用方法剖析

Java对象转为String的几种常用方法剖析   作者:中国.Net俱乐部   来源:中国.Net俱乐部 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功

import java.util.*; import java.text.*; //日期处理用到的包 import java.util.regex.*; import java.lang.*; /** * <p>Title: 常用基础函数</p> * <p>Description: 以下全部是静态函数</p> *

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。