Overview of JDK 8 Support in NetBeans IDEWritten by Tomas Zezula and Alyona Stashkova
NetBeans IDE supports JDK 8 features, such as lambda expressions, repeatable annotations, compact profiles, etc. When these constructs are used in your code, the IDE recognizes them, correctly highlights errors, and lets you automatically fix syntax. Thus, NetBeans IDE helps you write code that is compatible with Java SE 8 Release Contents Early Draft Review Specification. In this tutorial, you will learn how to get started with JDK 8 in NetBeans IDE and how to use the IDE support for such Java SE 8 features as compact profiles, lambda expressions, and repeating annotations. Contents ![]()
To complete this tutorial, you need the software and resources listed in the following table.
Enabling JDK 8 Support in NetBeans IDEAfter JDK 8 is downloaded and installed on your system, it needs to be registered in the IDE as follows:
Configuring a Project to use JDK 8After you registered JDK 8 in the IDE, your project needs to be configured to use JDK 8 for compilation, running, and debugging. We will start by creating a new Java SE project with the Anagram game example which is shipped with NetBeans IDE.
To configure your project to use JDK 8:
Using Compact Profiles SupportJava SE 8 introduces subset profiles of the Java SE platform specification that can be used to deploy and run applications that do not require the entire platform. Three profiles that have been defined so far are named compact1, compact2, and compact3. Each profile specifies a particular set of Java API packages and contains all of the APIs in profiles smaller than itself: compact1 is a subset of compact2, which is a subset of compact3, which in its turn is a subset of the full JRE. The table below lists packages that are comprised in each profile.
The IDE allows you to switch between the profiles and the full JRE when needed. To set a project profile for a Java SE Project:
To see how the IDE checks whether classes used in your project belong to the specified profile, select Compact1 as a profile for the AnagramGame project and click OK. You can go back and set the AnagramGame project's profile to Full JRE which is supported by the Anagrams application. Using Lambda Expressions SupportLambda expressions address the bulkiness of anonymous inner classes by expressing the machinery of anonymous inner classes more compactly. The general syntax of a lambda expression consists of a set of parameters, an arrow token, and a function body (either a single expression or a statement block): (int a, int b) -> a * a + b * b; NetBeans IDE detects pre-lambda expressions and displays the hints in the Editor proposing to turn such constructs into lambda expressions. For example, the AnagramGame project features a pre-lambda construct in the Anagrams.java file as shown in the screenshot below. After you click the light bulb in the margin or press Alt-Enter, the IDE shows the Use Lambda hint with a set of options available: If the Use Lambda hint is selected, the IDE converts the anonymous inner class into a lambda expression. If you choose the Run Inspect on option, the IDE displays the Inspect dialog box that allows to run a single Convert to Lambda inspection on the specified file. Note: For more information on initiating the Inspect operation in the IDE, see Using Hints in Source Code Analysis and Refactoring in Developing Applications with NetBeans IDE. After you press the Inspect button to launch the inspection, the IDE identifies all the pre-lambda constructs in the file and displays them in the Inspector window. If you choose the Run Inspect&Transform on option, the IDE displays the Inspect and Transform dialog box that allows to run a single Convert to Lambda inspection (or a selected configuration) on the specified code and refactor it if needed. Note: For more information on initiating the Inspect and Transform operation, see Using Hints in Source Code Analysis and Refactoring in Developing Applications with NetBeans IDE. Using Repeating Annotations SupportJava SE 8 features include repeating annotations that enable you to apply annotations with the same type to a single program element, as shown in the following code example: @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2seproject") @ProjectServiceProvider(service=Foo.class,"org-nebeans-modules-j2eeproject") public class MyService extends Foo {} NetBeans IDE support for repeating annotations allows you to write code with the same annotations provided the repeatable and containing annotation types are declared:
See AlsoFor more information about JDK 8, see:
For more information about developing Java applications in the NetBeans IDE, see:
|
Documentation |