java8已经发布很久了,但是在实际生产应用中,估计很大一部分都还停留在java6和java7上,java8中加入了很多新的特性,其中函数接口就在其中一个很重要的新特性,让我们在Java中也能进行fp模式编程。
1、首先我们要定义函数接口
@FunctionalInterface
public interface Function<T, K> {
K func(T t);
}
我们要注意的是,如果你要定义的是函数接口,那么接口里只能有一个未实现的方法,多余一个,IDE将会给出错误提示。另外@FunctionalInterface这个注解是可以省略的,如果接口中只有一个为实现方法,将默认是函数式接口,如果多余一个,将被解析为普通接口。
2、接口实现:
Function<String, String> foo = (args) ->{ return args + "x";};
foo.func("hello function");
以上就是函数接口的实现,这里可能有的朋友会产生疑问,为什么 args 不需要声明类型,返回值也不需要声明类型,这里是因为底层有强大的类型系统来进行类型推导
分享到:
相关推荐
这篇博客"eclipse 下实现java JNI 初探"将引导我们了解如何在Eclipse环境中开发和使用JNI。 首先,我们需要了解JNI的基本概念。JNI为Java程序员提供了一种方式来编写可以调用本地(非Java)代码的Java方法。这些...
### Kotlin初探与集成Android项目 #### 一、了解Kotlin **Kotlin的背景:** Kotlin 是一种由 JetBrains 开发的静态类型编程语言,它最初发布于 2011 年,并且在 2017 年被 Google 宣布成为 Android 的官方开发...
在Android系统中,JNI接口允许Java Framework层调用C/C++实现的函数,例如,JNI层提供了`module->methods->open()`等函数,这些函数的实现会回调到HAL层的具体函数,如`sSensorDevice->data_open()`,实现跨语言的...
在构建C应用程序调用MATLAB数学函数库时,我们需要理解C程序的结构,以及如何在C代码中调用MATLAB的函数,例如使用mexFunction作为主入口点,以及使用MATLAB的数据类型和函数接口。 总的来说,MATLAB不仅是一个强大...
JDBC作为Java数据库连接的标准接口,使得ODI能够支持多种数据库类型,增强了其数据集成能力。 #### 3. RCU与ODI安装配置 **RCU (Repository Creation Utility)** 是创建和管理Oracle产品(如ODI)元数据仓库的工具...
在GWT应用中,当用户触发一个需要与服务器交互的事件时,例如点击一个按钮,对应的事件处理函数会创建一个RPC请求对象,包含要调用的服务接口和参数。GWT的编译器会自动生成对应的JavaScript代码,用于构建和发送...
- OpenCV为Android提供了Java接口,开发者可以直接使用Java代码进行图像处理。例如,你可以创建一个`Mat`对象来存储图像数据,并使用各种函数(如`Core.add()`, `Imgproc.filter2D()`等)对图像进行操作。 4. **...
3. `NSLog()`是推荐的日志输出函数,它会在文本后自动添加换行符`\n`,而非C语言的`printf()`。 4. Objective-C中的所有对象都继承自`NSObject`,这是其面向对象特性的体现,与Java的单根继承概念相似。因此,常见...
在Android中,我们通常通过Java的GLSurfaceView类和对应的GLSurfaceView.Renderer接口来创建一个OpenGL ES的渲染上下文。 在创建3D模型时,我们通常需要定义顶点、法线和纹理坐标。顶点定义了物体的空间位置,法线...
在C++中,头文件通常用于包含接口定义,以便在不同的源文件之间进行函数调用和数据共享。 3. **Windows桌面程序开发** 在Windows上,OpenCV可以与Microsoft Visual Studio等IDE结合使用,创建基于Win32 API或Qt等...
HAL库提供了丰富的函数,如HAL_UART_Transmit用于串口发送数据,HAL_I2C_Mem_Read用于读取I2C通信中的内存数据,开发者可以利用这些函数完成数据的读取和串口通信任务。 总结来说,STM32CubeIDE是一个功能全面、...
《简易超市管理系统——Java编程初探》 在Java编程领域,初学者往往通过编写实际的应用程序来提升自己的技能。这份名为"Shopping.zip"的压缩包文件,就是为Java初学者提供的一款简易超市管理系统的源代码实例。这个...
* 接口 (Interfaces) * 抽象类 * __call * __set 和 __get * 静态成员 构造函数和析构函数 在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念...
1. **JNI接口**:Java Native Interface(JNI)是Java平台的标准编程接口,允许Java代码和其他语言写的代码进行交互。在"hello-ndk"中,会有一个对应的Java类,比如`HelloJni`,它声明了native方法,这些方法将在C/...
2. **空间查询和分析**:提供了丰富的空间操作函数和分析工具,允许用户进行空间查询、空间关系判断(如邻接、包含、重叠等)以及复杂的空间分析,如缓冲区分析、网络分析等。 3. **拓扑支持**:Oracle Spatial ...
Spring框架,自2003年由Rod Johnson创立以来,已经成为企业级Java应用开发的标准之一,以其轻量级容器、面向切面编程(AOP)、以及灵活的MVC框架等特性著称。 #### 春季开发之旅的起点 ##### Spring初探 - **准备...
Spring框架自2003年由Rod Johnson创立以来,迅速成为了企业级Java应用开发的首选框架之一。它以其强大的功能、灵活的设计和广泛的社区支持,为Java开发者提供了构建复杂应用程序的强大工具。本指南旨在深入解析...
Spring框架自2003年由Rod Johnson创立以来,迅速成为企业级Java应用开发的首选框架之一。它以其强大的功能、灵活的设计理念和易于上手的特性,吸引了全球众多开发者。本书旨在深度解析Spring框架的核心概念与实践...