我尝试通过使用类文件转换器和简单代理来获取新对象的名称,但我唯一能做的就是获取类名,而不是变量名。有没有办法做到这一点?我的例子:我有一个简单的主要:
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());
}
}
和一个类文件转换器:
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。