当前位置: 首页 > 知识库问答 >
问题:

如何使用::运算符作为此引用[副本]

马淳
2023-03-14

使用stream API很容易将具有ID的对象foo列表转换为以该ID为键的映射 列表:

public class Foo{
    private Integer id;
    private ....
    getters and setters...
}

Map<Integer,Foo> myMap = 
fooList.stream().collect(Collectors.toMap(Foo::getId, (foo) -> foo));

有没有办法用::运算符替换lambda表达式:(foo)->foo?类似foo::this的内容

共有1个答案

万高洁
2023-03-14

虽然它不是方法引用,但function.identity()是您需要的:

Map<Integer,Foo> myMap = 
    fooList.stream().collect(Collectors.toMap(Foo::getId, Function.identity()));
 类似资料:
  • 问题内容: 在我的查询中,我想找到与许多LIKE运算符之一匹配的行。我知道这样做的3种方法,但是只有其中一种可以使用索引。 让我们从表开​​始: 插入样本数据后,我可以执行以下操作: 以上查询正确使用索引。 第二种方式: 该查询将不使用索引。我知道的最后一种方法: 与上一个查询类似,该查询将不使用索引。 这是SQL Fiddle,适用于那些想如何使用这些查询的人:http : //sqlfiddl

  • 本文向大家介绍如何使用PowerShell作为计算器?或如何使用PowerShell进行算术运算?,包括了如何使用PowerShell作为计算器?或如何使用PowerShell进行算术运算?的使用技巧和注意事项,需要的朋友参考一下 您可以使用PowerShell控制台来执行算术运算,就像计算器一样。 要进行加法运算, 输出-5 对于复杂的附加操作,它也太快了。 输出-20543578 浮号运算 输

  • 如何编写python代码以删除某些值?例如。我想在数据帧列中删除一个极值。我尝试在删除失败之前先选择。 数据[['代谢率'] 在1 #您的答案中键入错误追溯(最近呼叫)-- 类型错误:'

  • 问题内容: 我的sql函数中有以下代码: 以下是SQL Server 2008查询,它给我一个错误: 在函数中无效使用副作用运算符“ INSERT”。 为什么我不允许这样做?我该怎么做才能解决此问题? 问题答案: 您不能使用将数据 插入基表中的功能 。函数 返回 数据。这被列为了 第一个 文档中的限制 : 用户定义的函数不能用于执行修改数据库状态的操作。 “修改数据库状态”包括更改数据库中的任何数

  • 我不能使用运算符&&或者,如果没有运算符,我如何格式化相同的代码?

  • 模板输出进可以使用几个运算符: 加法: {$a+$b} 减法: {$a-$b} 乘法: {$a \* $b} 除法: {$a/$b} 取余: {$a%$b} ++: {$a++} {++$a} --: {$a--} {--$a} 综合运算: {$a+$b+$c*$d}