guava -docs:guavaApi
目次
スプリッター:スプリッター
1.スプリッターを構築します。
Splitter.on(String str):spliter.on( ";")
Splitter.onPattern():通常に基づいて分割を構築します
Splitter.fixedLength(int):固定長
2.スプリッターは最終変更で不変です
public final class Splitter extends Object
3.アプリケーションを分割します
Iterable <String> split1 = splitByComma.split( "aa、bb、cc");
System.out.println(split1); //【aa、bb、cc】
splitメソッドはiterableを返し、パラメーターをnullにすることはできません(Preconditions.checkNotNull(sequence);)
4.スプリッターはフィルター基準を追加します
制限:
// limit ,拆分到指定的数量后,不再拆分,余下的归为一起
Iterable<String> split2 = splitByComma.limit(3).split("aa,bb,cc,dd,ee");
System.out.println(split2); //[aa, bb, cc,dd,ee] 拆分为三个元素,最后一个是cc,dd,ee
OmitEmptyStrings:
//空の文字列に遭遇すると、omitEmptyStringsがジャンプします
// splitToListはIterableを返しますが、役に立たない場合があります。リストに直接戻ることができます
splitByComma
.omitEmptyStrings()
.splitToList( "aa ,, bb ,, cc")
。ストリーム()
.forEach(System.out :: print); // aa bb cc
trimResults:
// trimResults: 去除首尾空格, 也可以传入参数CharMatcher指定默认是空格
splitByComma
// .trimResults()
.trimResults(CharMatcher.isNot('a')) // 去除不匹配a的
.splitToList(" ab , c , d ,aa ")
.stream()
.forEach(System.out::print);
charMatcher:特定のリファレンス https://blog.csdn.net/victor_cindy1/article/details/52073155
withKeyValueSeparator:
// kvフォームを分割し、マップを返します //文字列をカンマで分割し、withKeyValueSeparatorはkvをハッシュで分割します Map <String、String> splitMap = Splitter.on( "、") .withKeyValueSeparator( "#")// MapSplitterを返し、文字列をkvに分割します .split( "123#123、!1243#ee"); // {123 = 123、!1243 = ee}
// 固定长度拆分
Splitter splitByfixedLength = Splitter.fixedLength(4);
List<String> abc = splitByfixedLength.splitToList("aaaabbbbcccc");
System.out.println(abc); //[aaaa, bbbb, cccc]
ジョイナー:コネクター
1.ビルド時
ジョイナーjoiner = Joiner.on( "-");
2.skipNullsはnullをスキップします
useForNull(string default)nullが発生したときにデフォルト値を使用する
文字列結合=ジョイナ .skipNulls()// nullをスキップ // .useForNull( "default")// nullが発生した場合は、代わりにデフォルト値を使用します。skipNullでは使用できません .join(Lists.newArrayList(1、2、3、null、4、5、6)); // 1-2-3-4-5-6
3. withKeyValueSeparator
// 连接 map中的key value
String join1 = joiner.withKeyValueSeparator("->")
.join(ImmutableMap.of("A", "a", "B", "b"));
System.out.println(join1); //A->a-B->b
文字列:
// guava中的工具类大量适用 Preconditions.checkNotNull(a); 所有传入null会空指针
System.out.println(
// 公共前缀
Strings.commonPrefix("aaa","abc")
);
System.out.println(
// 公共后缀
Strings.commonSuffix("bcd","csa")
);
System.out.println(
// 空字符串转为null
Strings.emptyToNull("")
);
System.out.println(
// 判断是null还是空字符串
Strings.isNullOrEmpty(null)
);
System.out.println(
// null转空字符串
Strings.nullToEmpty(null)
);
System.out.println(
Strings.lenientFormat("aaa","c","b") //aaa [c, b]
);
System.out.println(
// 返回一个最小长度为5,以参数123为基准,不足的使用 c补充,
// 如果最小长度设置的小于基准123的长度,则返回123
Strings.padEnd("123",5,'c')
);
System.out.println(
Strings.padStart("777",6,'0')
);
// 复制多分
Strings.repeat("aaa",3);//aaaaaaaaa
オブジェクト:
最も一般的に使用されるのはequal()メソッドです
com.google.common.base.Objects.equal( "aa"、null);
使用するjdkバージョンがjava8より前の場合は、java8が提供するオブジェクトを使用するのが最適であり、多くのメソッドが提供されています。