Skip to content

Instantly share code, notes, and snippets.

@YukiYoshikawa
Created April 29, 2013 12:50
Show Gist options
  • Save YukiYoshikawa/5481399 to your computer and use it in GitHub Desktop.
Save YukiYoshikawa/5481399 to your computer and use it in GitHub Desktop.
package trial.yy.guava.client.base;
import com.google.common.base.Joiner;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* com.google.common.base.Joinerを試すためのサンプル
* User: yy
*/
public class JoinerClient {
public static void main(String[] args) {
// カンマで文字列配列を連結してみる
// (skipNullsを指定しないとnullが存在する場合にNullPointerExceptionがスローされる)
String[] array = new String[]{"taro", "jiro", null, "shiro"};
String joinedStr1 = Joiner.on(",").skipNulls().join(array);
System.out.println("joinedStr1: " + joinedStr1);
// コロンで指定文字列配列を連結してみる
List<String> list1 = Arrays.asList("taro", "jiro", "saburo");
String joinedStr2 = Joiner.on(":").skipNulls().join(list1);
System.out.println("joinedStr2: " + joinedStr2);
// コロンで指定文字列配列を連結してみる
// nullの要素に対してuseForNullで特定の文字列に置き換えるように指定する
List<String> list2 = Arrays.asList("taro", "jiro", null, "shiro");
String joinedStr3 = Joiner.on(":").useForNull("[null]").join(list2);
System.out.println("joinedStr3: " + joinedStr3);
// Map内のすべてのkeyとvalueを連結してみる
Map<Integer, String> map = new HashMap<>();
map.put(1, "ken");
map.put(2, "jon");
map.put(3, null);
Joiner.MapJoiner joiner = Joiner.on(", ").withKeyValueSeparator(" : ").useForNull("not registered");
String joinedStr4 = joiner.join(map);
System.out.println("joinedStr4: " + joinedStr4);
// appendToでStringBuilderに指定の文字列Listの値をすべて付け加えてみる
List<String> list3 = Arrays.asList("abc", "def", "ghi");
StringBuilder sb = new StringBuilder("start -> ");
StringBuilder sb1 = Joiner.on(":").appendTo(sb, list3);
System.out.println("sb1: " + sb1);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment