參考: 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 asstatic 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
值;