脚本宝典收集整理的这篇文章主要介绍了java8 之 Java编译器的新特性,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
简介
毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用。
语言
编译器
库
工具
运行时(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,请注明来意。