解决时间戳转换问题
1.使用这种方式可以转换成任意的日期格式
将 Fri Feb 19 17:32:34 CST 2021 EEE MMM dd HH:mm:ss zzz yyyy
转换为yyyy-MM-dd’T’HH:mm:ss格式
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = new Date();
try{
String str = Convert.toStr(accountDto.getSynTime());
date = sdf.parse(str);
}catch (Exception e){
e.printStackTrace();
}
String formatStr = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date);
System.err.println(formatStr);
2.使用hutool工具中的DateUtil可以转换为日常使用的日期格式(满足大部分场景)
简单使用Java 8 Stream流
对数据库中的数据进行筛选
List<Dish> menu = ...
List<String> lowCaloricDishesName = menu.stream()
//筛选出卡路里大于400的
.filter(d -> d.getCalories() < 400)
//抽取名字属性创建一个新的流
.map(Dish::getName)
//这个流按List类型返回
.collect(toList());
使用@builder
lombok注解在java进行编译时进行代码的构建,对于java对象的创建工作它可以更优雅,不需要写多余的重复的代码,为对象的创建工作提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!
@Builder(toBuilder = true)
@Getter
public class UserInfo {
private String name;
private String email;
@MinMoney(message = "金额不能小于0.")
@MaxMoney(value = 10, message = "金额不能大于10.")
private Money price;
}
UserInfo userInfo = UserInfo.builder()
.name("zzl")
.email("bgood@sina.com")
.build();