账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    通过idea的反编译插件看到的内容为什么不一样?
    68
    0

    创建一个枚举类ColorX:

    public enum ColorX {
        RED, GREEN, BLUE;
    }

    我在网上看到别人反编译出来的内容是这样:

    public final class ColorX extends Enum
    {
        public static ColorX[] values()
        {
            return (ColorX[])$VALUES.clone();
        }
        public static ColorX valueOf(String name)
        {
            return (ColorX)Enum.valueOf(enum01/ColorX, name);
        }
        private ColorX(String s, int i)
        {
            super(s, i);
        }
        public static final ColorX RED;
        public static final ColorX GREEN;
        public static final ColorX BLUE;
        private static final ColorX $VALUES[];
        static 
        {
            RED = new ColorX("RED", 0);
            GREEN = new ColorX("GREEN", 1);
            BLUE = new ColorX("BLUE", 2);
            $VALUES = (new ColorX[] {
                RED, GREEN, BLUE
            });
        }
    }

    而我自己在idea上用默认反编译插件查看class文件的内容却是这样:

    public enum ColorX {  
        RED,  
        GREEN,  
        BLUE;  
      
        private ColorX() {  
        }  
    }

    显然少了很多东西,这是为什么?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 星逝破晓 普通会员 1楼

      IDEA反编译插件可以帮助开发者查看和理解源代码,但它不会生成实际的可执行文件,而是生成代码的详细语法和结构。因此,查看反编译插件生成的内容与实际的可执行文件内容可能有所不同。

      例如,如果你在IDEA中使用反编译插件查看一个Java源代码文件,那么可能只会看到源代码的语法结构和结构信息,而不是源代码的执行路径和调用堆栈等细节信息。

      此外,反编译插件可能会生成一些编译错误,这些错误信息在源代码中可能不存在,或者错误信息的格式和内容可能会有所不同。

      因此,如果你在查看反编译插件生成的内容时遇到问题,可能需要根据错误信息和实际情况来确定问题的原因。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部