Tôi muốn sử dụng giá trị của thuộc tính dự kiến hoặc mặc định được chỉ định. Làm thế nào để đạt được điều này trong groovy?Cách xác minh xem một đối tượng có thuộc tính nhất định không?
Hãy nhìn vào ví dụ:
def printName(object) {
//if object has initialized property 'name' - print 'name', otherwise print ToString
if (object<some code here>name && object.name) {
print object.name
} else {
print object
}
}
+1 Tốt hơn tôi ... Tôi không nên bắt đầu từ metaClass ;-) –
'# hasProperty' thực sự trả về [MetaProperty] (http://groovy.codehaus.org/api/groovy/lang/MetaProperty .html), vì vậy bạn cũng có thể làm điều gì đó như 'object.hasProperty (propName) ?. getProperty (đối tượng)?: defval' –
... và có một số mâu thuẫn trong groovyDoc (groovy-2.4.7): _Description_ bắt đầu với '' 'Trả về true của MetaClass thực hiện có một thuộc tính của tên đã cho ' '' _Returns_ là viết tắt của '' 'Tìm thấy MetaProperty hoặc null nếu nó không tồn tại''' là sự thật –