0
我有一個Object
和Map
。我想將地圖中的所有名稱/值複製爲Object
中的屬性值。從地圖複製名稱/值到對象屬性
因此,考慮:
def tony
def map = [plenty: "66", none: "0", ...]
我想託尼有屬性,大量的,沒有和他們有在map
相應的值?
任何想法如何以常規的方式做到這一點?
我有一個Object
和Map
。我想將地圖中的所有名稱/值複製爲Object
中的屬性值。從地圖複製名稱/值到對象屬性
因此,考慮:
def tony
def map = [plenty: "66", none: "0", ...]
我想託尼有屬性,大量的,沒有和他們有在map
相應的值?
任何想法如何以常規的方式做到這一點?
您可以使用類似:
class Foo { }
def tony = new Foo()
def map = [plenty: "66", none: "0"]
map.each{ k, v -> tony.metaClass.setProperty k, v }
tony.properties.each { println "$it.key -> $it.value" }
輸出:
none -> 0
class -> class Foo
plenty -> 66
如果tony
並不需要從一個特定的類對象,你可以使用Expando
:
m = [a:1, b:2, c:"foobar"]
e = new Expando(m)
assert e.c == "foobar"
'tony = map'?我不明白這個問題......爲什麼不使用地圖? –