Guava——Joiner连接字符串Splitter分割字符串

import com.google.common.base.Joiner;
import com.google.common.base.Splitter;

import java.util.*;

/**
 * Created by sksocool on 15-4-16.
 */

public class GuavaHigh
{
    public static void main(String[] args)
    {
        String[] stringArray = {"one", "two", "three", "four", "five"};
        Joiner joiner = Joiner.on("-").skipNulls(); // Joiner对象和String对象一样,不可变!
        System.out.println(joiner.join(stringArray));
        // one-two-three-four-five
        List<String> stringList = new ArrayList<String>(Arrays.asList("ONE", "TWO", "THREE", "FOUR", null, "FIVE"));
        System.out.println(joiner.join(stringList));
        // ONE-TWO-THREE-FOUR-FIVE
        //region 注意区分join和appendTo的不同之处~
        StringBuilder stringBuilder = new StringBuilder();
        System.out.println(joiner.join(stringBuilder, "FOUR", "SEVEN", null));
        // -FOUR-SEVEN
        StringBuilder stringBuilderX = new StringBuilder();
        System.out.println(joiner.appendTo(stringBuilderX, "FOUR", "SEVEN"));
        // FOUR-SEVEN
        //endregion
        joiner = Joiner.on("+").useForNull("***");
        System.out.println(joiner.join(stringList));
        // ONE+TWO+THREE+FOUR+***+FIVE
        stringBuilder.append("JAVA");
        System.out.println(joiner.join(stringBuilder, "FOUR", "SEVEN", null));
        // JAVA+FOUR+SEVEN+***
        HashMap<String, String> hashMap = new LinkedHashMap<String, String>()
        {
            {
                put("ALWAYS", "always");
                put("MISSING", "missing");
                put("HARRY", "harry");
                put("POTTER", "potter");
            }
        };
        Joiner.MapJoiner mapJoiner = Joiner.on("__").withKeyValueSeparator("&");
        System.out.println(mapJoiner.join(hashMap));
        // ALWAYS&always__MISSING&missing__HARRY&harry__POTTER&potter
        Splitter splitter = Splitter.on("-");
        String toSplit = "always-missing-harry-potter- ";
        Iterable<String> splitResult = splitter.split(toSplit);
        Iterator iterator = splitResult.iterator();
        String x;
        while (iterator.hasNext())
        {
            x = (String) iterator.next();
            System.out.printf(x + ".");
        }
        // always.missing.harry.potter. .
        System.out.println();
        splitter = Splitter.on("-").trimResults(); // 清除掉开头或末尾的空白符
        splitResult = splitter.split(toSplit);
        iterator = splitResult.iterator();
        while (iterator.hasNext())
        {
            System.out.printf(iterator.next() + ".");
        }
        // always.missing.harry.potter..
        System.out.println();
        String toSplitMap = "one&ONE-two&TWO-three&THREE";
        Splitter.MapSplitter mapSplitter = Splitter.on("-").withKeyValueSeparator("&");
        Map<String, String> splitMapResult = mapSplitter.split(toSplitMap);
        Iterator<Map.Entry<String, String>> iteratorX = splitMapResult.entrySet().iterator();
        while (iteratorX.hasNext())
        {
            Map.Entry<String, String> tempMap = iteratorX.next();
            System.out.printf(tempMap.getKey() + ": " + tempMap.getValue() + " ");
        }
        // one: ONE two: TWO three: THREE
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值