泽涛คิดถึง 2019-04-14 15:39 采纳率: 100%
浏览 1038
已采纳

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

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

  • 写回答

3条回答 默认 最新

  • 农夫丶果园 2019-04-15 00:31
    关注

    因为你此时是String的一个Stream,所以可以传递String类的方法名称作为方法引用,来让Stream中的元素调用改方法,和方法是否是静态的没有关系

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 滴滴出行模拟系统,模拟叫车、出行过程等过程
  • ¥15 信号发生器如何将频率调大,步尽值改成10
  • ¥15 keil 5 编程智能家具,风扇台灯开关,人体感应等
  • ¥100 找一名渗透方面的专家
  • ¥20 使用Matlab gui设计一个插补小程序
  • ¥15 evo评估时曲线出现问题
  • ¥15 eNSP拓扑图配置实验
  • ¥20 有没有兄弟会替换fmod studio的.bank文件内的音效?
  • ¥20 如何解决访问网址被屏蔽的情况
  • ¥20 powerbuilder datawindow控件导出Excel数据,可不可以不自动覆盖原数据,而是在后面新插入入数据。