这是我第一次使用 ByteBuddy,我想动态创建一个java.lang.Object
只有一个名为myValue类型java.lang.String
的公共字段和默认值为“Hello World!”的子类。不幸的是,在调用 myClass.newInstance() 之后,该字段的值是null
(在 Eclipse 调试器中)。
final Class<?> myClass = new ByteBuddy().subclass(Object.class).name("test.MyClass")
.defineField("myValue", String.class, Visibility.PUBLIC)
.value("Hello World !")
.make()
.load(getClass().getClassLoader(), ClassLoadingStrategy.Default.INJECTION).getLoaded();
Object myObject = myClass.newInstance();
我在这里错过了什么吗?
我正在使用 Eclipse Mars.2、Oracle JDK 1.7.0_75 和 ByteBuddy-1.2.3