我需要知道是否可以使用以下代码和javassist来操纵代码,以将逻辑运算符“>”替换为“
这是我要操作其字节码的类:
public class TryClass {
public void foo(){
int a =0;
if(a>5){
System.out.println("I love apples");
}
else{
System.out.println("I hate apples");
}
}
}
在操纵之后,该类的执行应打印:
我爱苹果
代替:
我讨厌苹果
最佳答案
本身在字节码级别上没有<
或>
,例如,它是if_icmple
用于比较-表示这是实际的字节码指令。由于这种javassist
应该能够做到,因此称为生成时字节码检测,并且在线上有很多文章对此进行介绍。
Here is one for example