我的查询与使用 ASM 的字节码操作有关。
我有一种方法如下 -
/*Original method code*/
String str ="abs";
// create object of SampleClass2 // constructor calling
SampleClass2 sample = new SampleClass2();
// call instance method
sample.PrintMe(str);
在上述方法中,我想将 SampleClass2() 构造函数更改为一个静态方法调用,该方法调用将在执行一些逻辑后返回相同的 SampleClass2 对象。所以在那之后我的方法看起来像这样。
/*
* After bytecode manipulation*
*/
String str ="abs";
// get a constructor using static call
SampleClass2 sample = StaticClass.getSampleClass2Object();
sample.PrintMe(str);
请告诉我如何使用 ASM 字节码操作来实现这一点。我们是否需要将现有的字节码堆栈更改为相同的DUP