在Spring MVC框架中的LocalDateTime(Java 8)格式化中遇到问题
我的VO就像代码一样
在mySQL w_date字段中是DATETIME并重新编码"2015-12-25 23:18:22"
public class HistoryBoard {
@JsonFormat(pattern="yyyy-MM-dd")
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
private LocalDateTime w_date;
public LocalDateTime getW_date() {
return w_date;
}
public HistoryBoard setW_date(String w_date) {
DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S");
this.w_date = LocalDateTime.parse(w_date, sdf);
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
添加maven依赖
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.5.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
并添加@JsonFormat(pattern="yyyy-MM-dd")字段值w_date
但仍然json得到像对象
"w_date":{"dayOfMonth":25,"dayOfWeek":"FRIDAY","month":"DECEMBER","year":2015,"dayOfYear":359,"monthValue":12,"hour":23,"minute":18,"second":22,"nano":0,"chronology":{"id":"ISO","calendarType":"iso8601"}
Run Code Online (Sandbox Code Playgroud)
json页面控制器代码
@RequestMapping(value = "/listJson.do")
public @ResponseBody Object listJson(Map<String, Object> commandMap, ModelMap model) throws Exception {
List<HistoryBoard> list = boardService.selectBoardList(commandMap);
return …Run Code Online (Sandbox Code Playgroud) 我有一张地图:
private Map<String, AtomicInteger> keywordMap = new HashMap<String, AtomicInteger>();
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码对Java 8中的Mapby value(AtomicInteger)进行排序:
keywordMap
.entrySet()
.parallelStream()
.sorted().forEachOrdered(e -> System.out.print(e.getKey()));
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
java.lang.ClassCastException: java.util.HashMap$Node cannot be cast to java.lang.Comparable
Run Code Online (Sandbox Code Playgroud)
此行中发生错误: .forEachOrdered(e -> System.out.print(e.getKey()));
我的代码出了什么问题?