为什么String的toUpperCase不是静态方法,但可以String::toUpperCase来调用?

为什么String的toUpperCase不是静态方法,但可以String::toUpperCase来调用?

    List<String> myList =
            Arrays.asList("a1", "a2", "b1", "c2", "c1");
    myList
         .stream()
         .filter(s -> s.startsWith("c"))
         .map(String::toUpperCase)
         .sorted()
         .forEach(System.out::println);

网络上的教程
clipboard.png

阅读 4k
1 个回答

参考java文档: Method References

大致意思是说, java会把传递给方法的第一个参数作为实例去调用这个方法.

clipboard.png

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题