内defineFieldをする私はproperties
のエントリをループするだけ動的クラスのフィールドBytebuddy:どのようにループ
new ByteBuddy()
.defineField(entry.getKey(), entry.getValue())
内defineFieldをする私はproperties
のエントリをループするだけ動的クラスのフィールドBytebuddy:どのようにループ
new ByteBuddy()
.defineField(entry.getKey(), entry.getValue())
@Rafael・ヴィン実際に、それは
DynamicType.Builder<?> builder = ... for (Map.Entry<String, Class<?>> entry : properties.entrySet()) { builder = builder.defineField(entry.getKey(), entry.getValue(); }
をする必要がありますが、あなたの答えは私に正しいものを取得するための指針を与えました。ほんとありがと。
を定義することができるように、マップMap <String, Class<?>> properties
から、実行時にフィールドを追加したいと思います不変ビルダーをループし、すべてのステップでそれを変異:
DynamicType.Builder<?> builder = ...
for (Map.Entry<String, Class<?>> entry : properties.entrySet()) {
builder = builder.defineField(entry.getKey(), entry.getClass();
}
注ビルダーは不変であり、あなたがループ本体内にそれを再割り当てする必要があります。