java字符串工具類(持續更新)

package tmbf.nothing.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

import java.io.BufferedReader;
import java.io.Reader;
import java.sql.Clob;

/**
 * @ClassName:
 * @Description: 字符串工具類
 * @author yanbxa
 * @date
 */
public class StringUtil {

  /**
   *@Title: isEmptyString
   *@Description: 判斷一個字符串是否爲:NULL、空字符串、"null"、"NULL"、
   *@Author: yanbxa
   *@Param: [value]
   *@Return: boolean
   *@Date: 2019/11/26 10:42
   **/
  public static boolean isEmptyString(String value) {
    if (value == null) { // NULL
      return true;
    }
    if (value.trim().length() < 1) { // 空字符串
      return true;
    }
    if ("null".equalsIgnoreCase(value.trim())) { // "null"、"NULL"
      return true;
    }
    return false;
  }

  /**
   *@Title: splitStrToArrayByLength
   *@Description: 將字符串拆分成多個相等長度的字符串數組
   *@Author: yanbxa
   *@Param: [str, eachLength]
   *@Return: java.lang.String[]
   *@Date: 2019/11/26 10:55
   **/
  public static String[] splitStrToArrayByLength(String str, int eachLength) {
    if (eachLength < 1) {
      return new String[] { str };
    }
    int remainder = str.length() % eachLength; // 餘數
    int merchant = str.length() / eachLength; // 商
    int arraySize = merchant;
    if (remainder > 0) {
      arraySize = arraySize + 1;
    }
    String[] array = new String[arraySize];
    for (int i = 0; i < arraySize; i++) {
      int startIndex = i * eachLength;
      int endIndex;
      if (i < arraySize - 1) {
        endIndex = (i + 1) * eachLength;
      } else {
        endIndex = str.length();
      }
      array[i] = str.substring(startIndex, endIndex);
    }
    return array;
  }

  /**
   *@Title: toJSONStringWithNullValue
   *@Description: 將對象轉爲JSON字符串[map中value爲null也會生成key、string類型的null轉爲""空字符串、null數字類型轉爲0]
   *@Author: yanbxa
   *@Param: [object]
   *@Return: java.lang.String
   *@Date: 2019/11/26 10:50
   **/
  public static String toJSONStringWithNullValue(Object object) {
    return JSON.toJSONString(object, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty,
      SerializerFeature.WriteNullNumberAsZero);
  }

  /**
   *@Title: ClobToString
   *@Description: 大字段轉String
   *@Author: yanbxa
   *@Param: [clob]
   *@Return: java.lang.String
   *@Date: 2019/12/2 10:52
   **/
  public static String ClobToString(Clob clob) {
    String reString = "";
    Reader is = null;
    BufferedReader br = null;
    try {
      is = clob.getCharacterStream();
      br = new BufferedReader(is);
      String s = br.readLine();
      StringBuffer sb = new StringBuffer();
      while (s != null) {
        sb.append(s);
        sb.append("\r\n"); // 換行
        s = br.readLine();
      }
      reString = sb.toString();
    } catch (Exception e) {
      return reString;
    } finally {
      try {
        if (br != null) {
          br.close();
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
      try {
        if (is != null) {
          is.close();
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return reString;
  }

  public static void main(String[] args) {
    // 測試方法
    System.out.println(isEmptyString(null));
    System.out.println(isEmptyString("    "));
    System.out.println(isEmptyString("null"));
    System.out.println(toJSONStringWithNullValue(new String[] { "123", "234" }));
    System.out.println(toJSONStringWithNullValue(splitStrToArrayByLength("123456789", 4)));
  }
}

 

發佈了28 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章