首页  >  文章  >  Java  >  Item 更喜欢对方法的引用而不是 lambda

Item 更喜欢对方法的引用而不是 lambda

王林
王林原创
2024-07-19 14:02:39733浏览

方法参考的优点

  • 简洁:对方法的引用比 lambda 更简洁。
    示例:使用合并增加 Map 中的值:

  • Lambda:(计数,增量)->计数 + 增量
    方法参考:Integer::sum

减少样板
无用参数删除: 删除 count 和 incr 等参数。
示例:

map.merge(key, 1, Integer::sum);

有效使用方法参考

  • Lambda 中的有用文档: 在某些情况下,Lambda 中的参数名称可以提供有用的文档。
  • 将 Lambda 转换为方法: 如果 lambda 太复杂,请将代码提取到单独的方法中并使用对该方法的引用。

IDE 和方法参考

  • IDE 建议: IDE 通常建议用方法引用替换 lambda。
  • 接受建议:一般来说,接受建议,但要根据具体情况进行评估。

例外和注意事项

  • 更简洁的 Lambda 表达式: 有时 lambda 表达式比方法引用更简洁。
  • 类示例:
  • 方法参考: GoshThisClassNameIsHumongous::action
  • Lambda: () ->动作()
  • 恒等函数: Function.identity() 与 Function.identity() 对比x-> x

方法的参考类型

  • 静态:Integer::parseInt (lambda: str -> Integer.parseInt(str))
  • 有限: Instant.now()::isAfter (lambda: t -> Instant.now().isAfter(t))
  • 无限: String::toLowerCase (lambda: str -> str.toLowerCase())
  • 类构造函数: TreeMap::new (lambda: () -> new TreeMap)
  • 数组构造函数: int[]::new (lambda: len -> new int[len])

结论
方法引用的偏好: 当方法引用比 lambda 更短、更清晰时使用方法引用。
Lambda 的使用: 如果 lambda 更简洁或提供更好的文档,则更喜欢 lambda。

Item  Dê preferência às referências para métodos em vez dos lambdas

以上是Item 更喜欢对方法的引用而不是 lambda的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn