java8 之 Java编译器的新特性

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了java8 之 Java编译器的新特性脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

简介

毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用。

这个教程包含Java开发者经常面对的几类问题:

语言
编译器

工具
运行时(JVM)
Java编译器的新特性

参数名称

为了在运行时获得Java程序中方法的参数名称,老一辈的Java程序员必须使用不同方法,例如Paranamer liberary。Java 8终于将这个特性规范化,在语言层面(使用反射API和Parameter.getName()方法)和字节码层面(使用新的javac编译器以及-parameters参数)提供支持。

public class Parameternames {     public static void main(String[] args) {         try {             Method main = ParameterNames.class.getMethod("main", String[].class);             Parameter[] parameters = main.getParameters();             Arrays.stream(parameters).foreach(parameter -> System.out.println(parameter.getName()));         } catch (NoSuchMethodException e) {             e.printStackTrace();         }     } }

在Java 8中这个特性是默认关闭的,因此如果不带-parameters参数编译上述代码并运行,则会输出如下结果:

Parameter: arg0

如果带-parameters参数,则会输出如下结果(正确的结果):

Parameter: args

如果你使用Maven进行项目管理,则可以在maven-compiler-plugin编译器的配置项中配置-parameters参数:

<plugin>     <groupId>org.apache.maven.plugins</groupId>     <artifactId>maven-compiler-plugin</artifactId>     <version>3.1</version>     <configuration>         <compilerargument>-parameters</compilerArgument>         <source>1.8</source>         <target>1.8</target>     </configuration> </plugin> 

欢迎加入学习交流群569772982,大家一起学习交流。

脚本宝典总结

以上是脚本宝典为你收集整理的java8 之 Java编译器的新特性全部内容,希望文章能够帮你解决java8 之 Java编译器的新特性所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。