1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

IDEA可以反编译(也就是把生成的.class文件反编译)

源码:

package com.xiao.switchs;    public class Demo {      public static void main(String[] args) {          String name="小小";          //JDK7的新特性,表达式结果可以是字符串          switch (name){              case "小夏":                  System.out.println("傻子");              case "小小":                  System.out.println("小小");          }      }  }

反编译.class文件的代码

//  // Source code recreated from a .class file by IntelliJ IDEA  // (powered by Fernflower decompiler)  //    package com.xiao.switchs;    public class Demo {      public Demo() {      }        public static void main(String[] args) {          String name = "小小";          byte var3 = -1;          switch(name.hashCode()) {          case 753376:              if (name.equals("小夏")) {                  var3 = 0;              }              break;          case 754144:              if (name.equals("小小")) {                  var3 = 1;              }          }            switch(var3) {          case 0:              System.out.println("傻子");          case 1:              System.out.println("小小");          default:          }      }  }

可以仔细看出即使JDK7的新特性支持字符串,但是从反编译的结果可以看出是通过hashCode()来处理成数字





反编译的教程

1.先找到.class文件所在的位置:在file->project structure中选择project看到project compiler output中有一个路径,这个路径就是编译生成.class文件存放的位置

2.再找到.java文件所在的位置:在包或者类中右键选择show in explorer可以打开其在文件夹中的位置

3.把.class文件拖到.java文件夹里面,这样在IDEA中就能出现.class文件了,就可以看了

微信扫码关注

更新实时通知

作者:xiao 分类:软件笔记 浏览: