Guava学习笔记-基础篇

331 查看

public class JoinerDemo {

    List<String> stringList=new ArrayList<String>();

    @Before
    public void init(){
        stringList.add("a");
        stringList.add("b");
        stringList.add("c");
        stringList.add(null);
    }

    //默认情况,遇到null,抛exception
    @Test
    public void defaultJoin(){
        String strDefault = Joiner.on("|").join(stringList);
        System.out.println(strDefault);
    }

    @Test
    public void skipNull(){
        //忽略null
        String str= Joiner.on("|").skipNulls().join(stringList);
        System.out.println(str);
    }

    @Test
    public void useForNull(){
        //不忽略null
        String str2=Joiner.on("|").useForNull("no value").join(stringList);
        System.out.println(str2);
    }

    //joiner 可以使用实现Appendable接口的类
    @Test
    public void join() throws Exception{
        FileWriter fileWriter = new FileWriter("D://log//haha.txt");
        Joiner joiner=Joiner.on("#").useForNull(" ");
        joiner.appendTo(fileWriter,stringList);
        fileWriter.close();
    }

    //用于对map进行连接
    @Test
    public void testMapJoiner(){
        Map<String,String> testMap= Maps.newLinkedHashMap();
        testMap.put("Washington D.C","Redskins");
        testMap.put("New York City","Giants");
        testMap.put("Philadelphia","Eagles");
        testMap.put("Dallas","Cowboys");
        String returnedString=Joiner.on("#").withKeyValueSeparator("=").join(testMap);
        System.out.println(returnedString);
    }
}