我尝试使用classfiletransformer和一个简单代理来获取新对象的名称,但我唯一能做的就是获取类名,而不是变量名。有没有办法做到这一点? 我的例子: 我有一个简单的主要内容:
public static void main(String[] args) {
int z=1;
if(z==0){
Cube cube1= new Cube(2,3);
System.out.println("Cube:"+ cube.area());
}
else{
Cyrcle cyrcle1= new Cyrcle(2);
System.out.println("Cyrcle:"+ cyrcle.area());
}
}
和classfiletransformer:
public class SimpleTransformer implements ClassFileTransformer{
public byte[] transform(ClassLoader loader,
String className,
Class<?> classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer)
throws IllegalClassFormatException {
System.out.println(className);
return classfileBuffer;
}
}
我想打印打印“cyrcle1”对象,但这种方式只打印Cyrcle类型。