我想在運行時從地圖Map <String, Class<?>> properties
,添加字段,這樣我可以遍歷properties
的條目定義動態類的字段Bytebuddy:如何在一個循環中defineField
new ByteBuddy()
.defineField(entry.getKey(), entry.getValue())
我想在運行時從地圖Map <String, Class<?>> properties
,添加字段,這樣我可以遍歷properties
的條目定義動態類的字段Bytebuddy:如何在一個循環中defineField
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(); }
,但你的回答給了我指導,以獲得正確的一個。那謝謝啦。
剛環比不變的建設者和變異它的每一步:
DynamicType.Builder<?> builder = ...
for (Map.Entry<String, Class<?>> entry : properties.entrySet()) {
builder = builder.defineField(entry.getKey(), entry.getClass();
}
注意該建築工地是不可變的,你需要循環體內重新分配它。