我举了以下例子:
public class App {
public static void main( String[] args ) {
List<Car> list = Arrays.asList(new Car("green"), new Car("blue"), new Car("white"));
//Ex. 1
List<String> carColors1 = list.stream().map(CarUtils::getCarColor).collect(Collectors.toList());
//Ex. 2
List<String> carColors2 = list.stream().map(Car::getColor).collect(Collectors.toList());
}
static class CarUtils {
static String getCarColor(Car car) {
return car.getColor();
}
}
static class Car {
private String color;
public Car(String color) {
this.color = color;
}
public String getColor() {
return color;
}
}
}
例。1起作用是因为CarUtils
类中的方法getCarColor
具有与Function
接口中的Application
方法相同的方法签名和返回类型。
但为什么Ex.2有效?Car
类中的方法getColor
,与apply
Method签名不同,我希望在这里得到编译时错误。
Car类中的方法getColor与apply方法signature不同,我预计这里会出现编译时错误。
不完全是。Car.getColor()
是一个实例方法。您可以将其视为一个函数,该函数接受一个参数:Car类型的this
,并返回一个String。因此这与Function中应用程序()的签名相匹配
为什么下面的工作? 当我阅读java.util.stream.stream的方法描述时
本文向大家介绍简单了解SpringBoot HATEOAS使用方法,包括了简单了解SpringBoot HATEOAS使用方法的使用技巧和注意事项,需要的朋友参考一下 REST风格简介 介绍HATEOAS之前先简单介绍一下REST,REST 是 Representational state transfer 的缩写,翻译过来的意思是表达性状态转换。REST是一种架构的风格 Richardson M
特别推荐 Cocos2d-x 3.17 已发布,请参阅 版本发布说明。 3.17 支持全平台的 CMake 构建,请参阅 CMake 指南 快速上手 手册通过四个部分向您介绍 Cocos2d-x:新手入门部分,可以了解到 Cocos2d-x 引擎是什么、如何学习引擎、如何参与引擎开发,以及引擎中一些基本的概念;基本功能部分,着重介绍引擎中一些基础同时核心的组件如何使用,包括精灵、动作、场景。 进阶
我有一个抛出检查异常的方法: 我正在尝试创建一个通用包装器,它将优雅地处理异常。 现在我正在使用,它给我编译时错误。我可能错过了什么?
问题内容: sentence = “The quick brown fox jumped over the lazy dog.” characters = {} 我不知道在做什么,其余的一切似乎都非常简单。 问题答案: dict的方法(例如)与索引dict一样,不同之处在于,如果缺少键,则返回默认值(如果不使用键,则返回默认值(如果仅使用一个参数调用,则键为默认值)是)。 因此,一个等效的Pyth
问题内容: 我是Python的新手,但是我有其他OOP语言的经验。我的课程没有解释python中的主要方法。 请告诉我main方法如何在python中工作?我很困惑,因为我试图将其与Java进行比较。 main是如何执行的,为什么我需要这个奇怪的东西才能执行。删除时,我的代码将终止,而不会输出。 最小的代码- 问题答案: Python的“ main”方法几乎是该语言(*)所独有的。 语义有些微妙。