图说jdk1.8新特性--- 编译器新特性

Posted kidezyq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图说jdk1.8新特性--- 编译器新特性相关的知识,希望对你有一定的参考价值。

技术图片

技术图片

/**
     * Returns the name of the parameter.  If the parameter's name is
     * {@linkplain #isNamePresent() present}, then this method returns
     * the name provided by the class file. Otherwise, this method
     * synthesizes a name of the form argN, where N is the index of
     * the parameter in the descriptor of the method which declares
     * the parameter.
     *
     * @return The name of the parameter, either provided by the class
     *         file or synthesized if the class file does not provide
     *         a name.
     */
    public String getName() {
        // Note: empty strings as paramete names are now outlawed.
        // The .equals("") is for compatibility with current JVM
        // behavior.  It may be removed at some point.
        if(name == null || name.equals(""))
            return "arg" + index;
        else
            return name;
    }

说明:

  • jdk1.8反射包增加了Parameter类,通过该类的getName方法能在运行时得到参数的名称
  • 如果没有通过-parameters指定编译器在编译的时候将参数名编译进去,那么得到的参数名称将会是arg1、arg2、arg3这种默认的参数名

以上是关于图说jdk1.8新特性--- 编译器新特性的主要内容,如果未能解决你的问题,请参考以下文章

jdk1.8新特性——主要内容

JDK1.8新特性

图解jdk1.8新特性

Java 8 新特性

Java 8 新特性

Java8(JDK1.8)新特性