Guava學習筆記之Joiner 厂抖,Strings萌丈,Splitter 工具實例
一.Strings
package com.spring_boot.guava.strings;
import com.google.common.base.Strings;
import org.junit.Test;
/**
* Created by wanggs on 2017/9/30.
* 一.Strings
*/
public class StringsTest {
@Test
public void right() {
String str = "abcd";
String rstr = Strings.padEnd(str, 10, 'x');
System.out.println(rstr);
// 結果為:abcdxxxxxx
}
@Test
public void left() {
String str = "abcd";
String rstr = Strings.padStart(str, 10, 'x');
System.out.println(rstr);
// 結果為:xxxxxxabcd
}
@Test
public void isNullOrEmpty() {
String str = "";
boolean result = Strings.isNullOrEmpty(str);
System.out.println(result);
// 結果為: true
}
@Test
public void nullToEmpty() {
//Strings.nullToEmpty 如果為null 轉為""
String str = null;
String result = Strings.nullToEmpty(str);
System.out.println(result);
// 結果為:
}
@Test
public void emptyToNull() {
//Strings.emptyToNull 如果為"" 轉為null
String str = "";
String result = Strings.emptyToNull(str);
System.out.println(result);
// 結果為:null
}
@Test
public void repeat() {
String str = "123";
String result = Strings.repeat(str, 3);
System.out.println(result);
// 結果為: 123123123
}
@Test
public void commonPrefix() {
//Strings.commonPrefix 獲取a,b左公共部分字符串
String a = "abcdsfsfs";
String b = "abc3sfsd";
String c = Strings.commonPrefix(a, b);
System.out.println(c);
// 結果為:abc
}
@Test
public void commonSuffix() {
//Strings.commonSuffix 獲取a,b右公共部分字符串
String a = "faaxyz";
String b = "fwefxyz";
String c = Strings.commonSuffix(a, b);
System.out.println(c);
// 結果為:xyz
}
}
二赋焕,Joiner 連接工具類
package com.spring_boot.guava.Joiner;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import org.junit.Test;
import java.util.Iterator;
import java.util.List;
/**
* Created by wanggs on 2017/9/30.
* 二榜揖,Joiner 連接工具類
* <p>
* 分析源碼可知:該類構造方法被private修身渠缕,無法直接通過new實現
* 通過調用on傳如分隔符來得到實例鸽素。
*/
public class JoinerTest {
@Test
public void list() {
// 1.連接list列表
Joiner joiner = Joiner.on(",");
List<String> list = Lists.newArrayList("a", "b", "c");
System.out.println(joiner.join(list));
// 結果為: a,b,c
}
@Test
public void iterator() {
// 2.連接Iterator<T>列表
Joiner joiner = Joiner.on(",");
List<String> list = Lists.newArrayList("a", "b", "c");
Iterator<String> iterator = list.iterator();
System.out.println(joiner.join(iterator));
// 結果為:a,b,c
}
@Test
public void strings(){
// 3.連接多個字符串
Joiner joiner = Joiner.on(",");
System.out.println(joiner.join("123","345","56","43"));
// 結果:123,345,56,43
}
@Test
public void listString(){
// 4.連接字符串與列表
Joiner joiner = Joiner.on(",");
List<String> list = Lists.newArrayList("a", "b", "c");
StringBuilder builder=new StringBuilder("標題");
System.out.println(joiner.appendTo(builder,list));
// 結果:標題a,b,c
}
@Test
public void jumpnull(){
Joiner joiner = Joiner.on(",").skipNulls();
List<String> list = Lists.newArrayList("a", null,"b", "c");
StringBuilder builder=new StringBuilder("標題");
System.out.println(joiner.appendTo(builder,list));
// 結果:標題a,b,c
}
@Test
public void replace(){
Joiner joiner = Joiner.on(",").useForNull("123");//替換null為123
List<String> list = Lists.newArrayList("a", null,"b", "c");
StringBuilder builder=new StringBuilder("標題");
System.out.println(joiner.appendTo(builder,list));
// 結果:標題a,123,b,c
}
}
三.Splitter 工具類
package com.spring_boot.guava.splitter;
import com.google.common.base.Splitter;
import com.google.common.escape.Escaper;
import com.google.common.html.HtmlEscapers;
import org.junit.Test;
import java.util.List;
/**
* Created by wanggs on 2017/9/30.
* 主要功能是拆分字符串為集合 Map等。
*/
public class SplitterTest {
@Test
public void splitterList() {
Splitter splitter = Splitter.on(",");
String str = "a,b,c,d,e,f,g";
List<String> list = splitter.splitToList(str);
System.out.println(list);
// 結果:[a, b, c, d, e, f, g]
}
@Test
public void ignore() {
Splitter splitter = Splitter.on(",").omitEmptyStrings();
String str = "a,b,c,d,,f,g";
List<String> list = splitter.splitToList(str);
System.out.println(list);
// 結果:[a, b, c, d, f, g]
}
@Test
public void ignoreSp() {
Splitter splitter = Splitter.on(",").omitEmptyStrings().trimResults();
String str = "a,b,c,d,,f, g ";
List<String> list = splitter.splitToList(str);
System.out.println(list);
// 結果:[a, b, c, d, f, g]
}
@Test
public void htmlEscapers() {
Escaper htmlEscaper = HtmlEscapers.htmlEscaper();
System.out.println(htmlEscaper.escape("<a>你好</a>"));
// 結果:<a>你好</a>
}
}