StringJoiner 应用场景:sql 的in条件拼接
你只会用 StringBuilder?试试 StringJoiner,真香!
在使用拼间多个相同的分隔符时,使用 StringJoiner ,
头尾包含,且间隔的
public static void main(String[] args) {
StringJoiner stringJoiner = new StringJoiner(",", "[", "]");// 对新增的字符串用逗号间隔,用[]作为收尾包含
stringJoiner.add("hello");
stringJoiner.add("guys");
stringJoiner.add("欢迎关注公众号Java技术栈");
System.out.println(stringJoiner.toString());
//输出 [hello,guys,欢迎关注公众号Java技术栈]
}
只有间隔的
public static void main(String[] args) {
StringJoiner stringJoiner = new StringJoiner(",");//用逗号间隔新增的字符串
stringJoiner.add("hello");
stringJoiner.add("guys");
stringJoiner.add("欢迎关注公众号Java技术栈");
System.out.println(stringJoiner.toString());
//输出 hello,guys,欢迎关注公众号Java技术栈
}
创建集合
// 普通Collection的创建
List<String> list = Lists.newArrayList();
Set<String> set = Sets.newHashSet();
Map<String, String> map = Maps.newHashMap();
// 不变Collection的创建
ImmutableList<String> iList = ImmutableList.of("a", "b", "c");
ImmutableSet<String> iSet = ImmutableSet.of("e1", "e2");
ImmutableMap<String, String> iMap = ImmutableMap.of("k1", "v1", "k2", "v2");
ImmutableList (Immutable 不可变的)
使用场景:多线程下安全,如果想改变 考虑 copyAndWriter 机制:即构建一个新的list,再将旧引用指向 该新list。可以应对高并发的读写,