Tôi có một câu hỏi liên quan đến việc sử dụng Function.identity()
phương pháp.
Hãy tưởng tượng đoạn mã sau:
Arrays.asList("a", "b", "c")
.stream()
.map(Function.identity()) // <- This,
.map(str -> str) // <- is the same as this.
.collect(Collectors.toMap(
Function.identity(), // <-- And this,
str -> str)); // <-- is the same as this.
Có bất kỳ lý do tại sao bạn nên sử dụng Function.identity()
thay vì str->str
(hoặc ngược lại). Tôi nghĩ rằng tùy chọn thứ hai dễ đọc hơn (tất nhiên là vấn đề về hương vị). Nhưng, có bất kỳ lý do "thực sự" tại sao một người nên được ưa thích?
t -> t
đơn giản hơn vì nó ngắn gọn hơn.