Guava 中 Strings 對字符串的連接

參考: Guava API

抽取方法

/**
 * 字符串的連接
 * @param separator 連接符
 * @param first
 * @param second
 * @param rest
 * @return
 */
public static String strJoiner(String separator, Object first, Object second, Object... rest) {
    // Joiner joiner = Joiner.on(separator).useForNull("null");
    Joiner joiner = Joiner.on(separator).skipNulls();
    return joiner.join(first, second, rest);
}
  • 使用 靜態方法 on(String) 構造 Joiner 對象;
    • useForNull(String) 方法可以替換連接中的 Null 對象;
    • skipNulls() 方法直接忽略 NULL值;
  • 使用 join(Object… rest) 方法進行連接;

示例:

String m = "Hello";
String n = "World";

System.out.println(StringUtils.strJoiner(";", m, null, n)); 
// Hello;World or Hello;null;World

Warning: joiner instances are always immutable; a configuration method such as useForNull has no effect on the instance it is invoked on! You must store and use the new joiner instance returned by the method. This makes joiners thread-safe, and safe to store as static final constants.

警告:joiner 實例總是不可變的;用來定義 joiner 目標語義的配置方法總會返回一個新的 joiner 實例。這使得joiner實例都是線程安全的,你可以將其定義爲 static final 常量。

如何處理 null 值?

Joiner joiner = Joiner.on(separator).useForNull("null");
Joiner joiner = Joiner.on(separator).skipNulls();
  • usrForNull() 方法 使用參數字符替代 null 值;
  • skipNulls() 方法 直接忽略 null 值;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章