0
点赞
收藏
分享

微信扫一扫

java获取参数名为arg1底层原理

Spinach菠菜 2022-04-29 阅读 75
java

java编译成字节码默认不保存方法参数信息,编译时需要设置java编译器保存设置,或者maven添加依赖,网上可搜索,仅支持java8。
现在主要探讨原理,保存参数名其字节码保存了属性信息里,反射可获取,未开启情况下,源码Parameter调用的方法为

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;//这便是获取arg0的原因
        else
            return name;
    }```

举报

相关推荐

0 条评论