对象属性拷贝
将源对象的属性拷贝到目标对象
使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get、set方法一个一个属性的赋值
public static void copyProperties(Object source, Object target) {
try {
BeanUtils.copyProperties(source, target);
} catch (BeansException e) {
System.out.println(e);
} catch (Exception e) {
System.out.println(e);
}
}
//简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。
//总结 主要使用的是 +++++++++++ BeanUtils.copyProperties(source, target);
Guava的小技巧
joiner 连接器
Joiner.on(",").join(lists);
//joiner.on 就是将list用逗号(,)连接并转成字符串
Joiner.on(",").skipNulls().join(lists);
//joiner skipNulls()连接跳过null元素
Joiner.on(",").useForNull(“哈哈”).join(lists);
// joiner useForNull(final String value)用value替换null元素值
Joiner.on(",").withKeyValueSeparator("😊.join(maps);
// joiner withKeyValueSeparator(String value) map连接器,keyValueSeparator为key和value之间的分隔符
###B splitter 拆分器
Splitter.on(",").splitToList(test);
//把字符串以逗号分隔 分割为List
Splitter.on(",").omitEmptyStrings().splitToList(test);
//splitter trimResults 拆分去除前后空格
Splitter.fixedLength(2).splitToList(test);
//splitter fixedLength(int lenght) 把字符串按固定长度分割
CharMatcher charMatcher1 = CharMatcher.is(‘1’);
System.out.println(charMatcher1.retainFrom(str));//保留
System.out.println(charMatcher3.removeFrom(str)); //移除
//charMatcher is(Char char) 给单一字符匹配,输出匹配的字符串
CharMatcher charMatcher1 = CharMatcher.is(‘g’);
System.out.println(charMatcher1.matchesAllOf(str));
//charMatcher matchersAllOf(Char char) 测试是否字符序列所有字符都匹配
判断数组是否有值
public static <E, T> List<T> convertList2List(List<E> input, Class<T> clzz) {
List<T> output = Lists.newArrayList();//Lists.newArrayList()其实和new ArrayList()几乎一模一样,
//用来判断数组是否有值其中这个判断中包含null size=0 等多种情况,其中它的相反为 isEmpty.
if (CollectionUtils.isNotEmpty(input)) { //这个isNotEmpty 依赖导入需要注意 --org.apache.commons.collections.CollectionUtils的包必须是3.1以上,才会有isNotEmpty
for (E source : input) {
T target = BeanUtils.instantiate(clzz);
copyProperties(source, target);
output.add(target);
}
}
return output;
}
判断字符串是否为空
在校验一个String类型的变量是否为空时,通常存在3中情况
1 是否为 null
2 是否为 “”
3 是否为空字符串(引号中间有空格) 如: " "。
StringUtils.isBlank()
StringUtils的isBlank()方法可以一次性校验这三种情况,返回值都是true