NetBeans IDE 中的 JDK 8 支持概述作者:Tomas Zezula 和 Alyona Stashkova
NetBeans IDE 支持 JDK 8 功能,例如 lambda 表达式、可重复标注、精简配置文件等。在代码中使用这些结构时,IDE 会识别它们,正确突出显示错误并使您能够自动修复语法。因此,NetBeans IDE 可帮助您编写与 Java SE 8 发布内容早期草稿审查规范兼容的代码。 在本教程中,您将了解如何在 NetBeans IDE 中开始使用 JDK 8,以及如何使用 IDE 对精简配置文件、lambda 表达式和重复标注等 Java SE 8 功能的支持。 目录 ![]() 要学完本教程,您需要具备下表所列的软件和资源。
在 NetBeans IDE 中启用 JDK 8 支持在系统上下载并安装 JDK 8 之后,需要将其注册在 IDE 中,如下所示:
配置项目以使用 JDK 8在 IDE 中注册 JDK 8 之后,需要将项目配置为使用 JDK 8 进行编译、运行和调试。 首先,我们将使用 NetBeans IDE 附带的 Anagram Game 示例创建一个新的 Java SE 项目。
要配置项目以使用 JDK 8,请执行以下操作:
使用精简配置文件支持Java SE 8 引入了可用于部署和运行不需要整个平台的应用程序的 Java SE 平台规范的子集配置文件。 到目前为止已定义的三个配置文件名为 compact1、compact2 和 compact3。每个配置文件都指定一组特定的 Java API 包并且包含小于自身的配置文件中的所有 API:compact1 是 compact2 的子集,后者是 compact3 的子集,而再后者又是完整 JRE 的子集。下表列出了每个配置文件中包含的包。
IDE 允许您根据需要在配置文件和完整 JRE 之间切换。 要为 Java SE 项目设置项目配置文件,请执行以下操作:
要了解 IDE 如何检查项目中使用的类是否属于指定的配置文件,请选择 "Compact1" 作为 AnagramGame 项目的配置文件,然后单击 "OK"(确定)。 您可以返回并将 AnagramGame 项目的配置文件设置为 Anagrams 应用程序支持的“完整 JRE”。 使用 Lambda 表达式支持Lambda 表达式通过更加简洁地表示匿名内部类的结构,解决庞大的匿名内部类问题。 lambda 表达式的一般语法包含一组参数、一个箭头标记和一个函数体(单个表达式或一个语句块): (int a, int b) -> a * a + b * b; NetBeans IDE 将检测预 lambda 表达式并在编辑器中显示提示,以建议将此类结构转变为 lambda 表达式。 例如,AnagramGame 项目以 Anagrams.java 文件中的预 lambda 结构为特色,如下面的屏幕快照中所示。 在单击旁注中的电灯泡或按 Alt-Enter 组合键之后,IDE 将显示 "Use Lambda"(使用 Lambda)提示并提供一组选项: 如果选择了 "Use Lambda"(使用 Lambda)提示,则 IDE 会将匿名内部类转换为 lambda 表达式。 如果选择 "Run Inspect on"(运行检查于)选项,则 IDE 将显示 "Inspect"(检查)对话框,您可以在该对话框中对指定的文件运行单个 "Convert to Lambda"(转换为 Lambda)检查。 注:有关在 IDE 中启动 "Inspect"(检查)操作的更多信息,请参见使用 NetBeans IDE 开发应用程序中的在源代码分析和重构中使用提示。 在您按 "Inspect"(检查)按钮启动检查之后,IDE 将标识文件中的所有预 lambda 结构并将其显示在 "Inspector"(检查器)窗口中。 如果选择 "Run Inspect&Transform on"(运行检查和转换于)选项,则 IDE 将显示 "Inspect and Transform"(检查并转换)对话框,您可以在该对话框中对指定的代码运行单个 "Convert to Lambda"(转换为 Lambda)检查(或所选配置),并根据需要重构。 注:有关启动 "Inspect and Transform"(检查并转换)操作的更多信息,请参见使用 NetBeans IDE 开发应用程序中的在源代码分析和重构中使用提示。 使用重复标注支持Java SE 8 功能包含重复标注,通过该功能,可以将相同类型的标注应用到单个程序元素,如以下代码示例中所示: @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2seproject") @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2eeproject") public class MyService extends Foo {} NetBeans IDE 支持重复标注,允许您使用相同的标注编写代码,假定声明了重复标注类型和包含标注类型:
另请参见有关 JDK 8 的更多信息,请参见:
有关在 NetBeans IDE 中开发 Java 应用程序的详细信息,请参见:
|
Documentation |