判断:Preconditions
判空,如为null则抛NullPointException
this.type = Preconditions.checkNotNull(val);
检查方法参数,如果表达式为false,则抛IllegalArgumentException
public someMethod(String name, String [] names) {
Preconditions.checkArgument(!(name == null || names.length < 0), "No names specified");
...
}
对象: Objects
判空,如为null则赋予默认值
String a = Objects.firstNonNull(avalue, Consts.A)
字符串: String
字符串如果为null则为“”
String a = Strings.nullToEmpty(maybeNullString);
集合:
集合创建:Maps, Lists
Map<String, Map<String, String>> map = Maps.newHashMap();
List<List<Map<String, String>>> list = Lists.newArrayList();
排序:Ordering
Ordering<String> byLengthOrdering = new Ordering<String>() {
public int compare(String left, String right) {
return Ints.compare(left.length(), right.length());
}
};
List<String> result = byLengthOrdering.sortedCopy(stringList);
过滤:Predicate
public String findFundsForId(final int Id) {
Collection<Fund> funds= getAllFunds();
Predicate<Fund> fundPredicate = new Predicate<Fund>() {
@Override
public boolean apply(Fund fund) {
return fund.getId() == Id;
}
};
Iterable<Fund> filteredFunds = Iterables.filter(funds, fundPredicate);
return filteredFunds.toString();
}
分割:
List<Integer> ids_verylong;
List<List<Integer>> ids_veryshort= Lists.partition(ids_verylong, 10);
缓存:
private static Map<String, String> cache = new MapMaker().expireAfterWrite(8, TimeUnit.HOURS).makeMap();
不可变集合:
new ImmutableList.Builder<String>().addAll(stringList).build();
new ImmutableMap.Builder<String, String>().putAll(stringMap).build();
允许同key的Map:Multimap
IO
文件:
Files.write(msg.getData().getBytes(), new File(filePath));