工作中遇到的比较好用的工具方法,记录一下
1 Gson
1.1 功能
pojo与json转换
1.2 举例
import com.google.gson.Gson;
//json转换为pojo
Gson gson = new Gson();
ClearingVoucherReqDto reqDto = gson.fromJson(message, ClearingVoucherReqDto.class);
//pojo转换为json
Student student = new Student();
student.setName("GwonNyeongJin");
student.setAge(20);
String jsonString = gson.toJson(student);
3 StringUtils
3.1 功能
字符串判断,太多不举例子了,方法易懂
3.2 举例
import org.apache.commons.lang.StringUtils;
StringUtils.isNotEmpty(str)
//等价于 str != null && str.length > 0
StringUtils.isNotBlank(str)
//等价于 str != null && str.length > 0 && str.trim().length > 0
4 CollectionUtils
4.1 功能
用到了collect方法,这个方法便利第一个参数集合所有数据,执行第二个参数实现方法,并将return的数据封装成集合。
这种操作有些类似1.8中的stream管道的map操作。
4.2 举例
import org.apache.commons.collections.CollectionUtils;
("unchecked")
List<ClearingVoucherReqDto> returnClearingVoucherReqDtos = (List<ClearingVoucherReqDto>) CollectionUtils.collect(
returnClearingVoucherRecordEntitys, new Transformer() {
public Object transform(Object object) {
ClearingVoucherReqDto clearingVoucherReqDto = null;
try {
clearingVoucherReqDto = ConvertUtils.copy(object, ClearingVoucherReqDto.class);
String serialNumber = idemDao.querySerialNumberById(((ClearingVoucherRecordEntity)object).getIdemRefID());
clearingVoucherReqDto.setSerialNumber(serialNumber);
} catch (Exception e) {
logger.error("clearingVoucherReqDto build error", e);
}
return clearingVoucherReqDto;
}
});
5 ConvertUtils
5.1 功能
两个bean间相同字段数据转换
5.2 举例
import com.dianping.ts.common.util.ConvertUtils;
ClearingVoucherRecordEntity clearingVoucherRecordEntity = ...;
ClearingVoucherReqDto clearingVoucherReqDto = null;
clearingVoucherReqDto = ConvertUtils.copy(clearingVoucherRecordEntity, ClearingVoucherReqDto.class);