我在的Java/Groovy的兩個相似的物體,讓說:確定對象屬性的數據類型
class a {
Date creation
}
class a {
String creation
}
,並在我的計劃,有可能決定我應該使用什麼對象的開關(Groovy
代碼) :
def obj
if(/* certain criteria for a */) {
obj = new package.foo.a()
// ...
// Or some other process aside from initialization.
}
else if(/* certain criteria for the another a */) {
obj = new package.bar.a()
// ...
// Or some other process aside from initialization.
}
else {
obj = null
}
稍後在代碼中,我需要確定我應該執行基於房產creation
類型的過程:
if(obj.creation instanceof Date) {
obj.creation = new Date()
}
else if(obj.creation instanceof String) {
obj.creation = '1995-08-17'
}
上面的代碼不起作用。有沒有辦法做到這一點?當然,我總是可以做以下如果屬性的數據類型,不能獲得:
if(obj instanceof package.foo.a) {
obj.creation = new Date()
}
else if(obj instanceof package.bar.a) {
obj.creation = '1995-08-17'
}
您是否嘗試過obj.creation.getClass()? – Zarwan
這不是有效的Java代碼。你的意思是JavaScript嗎? Groovy(按照原始)? – EJP