Collectors.groupingBy(x::getid)和Collectors.groupingBy(x -> x.getid)的区别
时间: 2023-10-28 22:37:07 浏览: 114
Java8 Stream Collectors收集器使用方法解析
`Collectors.groupingBy(x::getid)`和`Collectors.groupingBy(x -> x.getid)`其实是等价的。
`x::getid`是一种方法引用,它表示调用`x`对象的`getid()`方法。而`x -> x.getid`则是一种Lambda表达式,它也表示调用`x`对象的`getid()`方法。
两者的区别在于语法上的差异,使用方法引用可以让代码更加简洁易读。但是需要注意的是,方法引用只能用于调用一个方法,而Lambda表达式可以做更多的事情,比如可以在Lambda表达式中编写多行代码。
阅读全文