在Ruby中,您可以執行"var1".constantize
以獲取實際變量var1
。 Ruby也具有Model.Send(「方法名稱,參數可以在這裏,等等」),它將與實際調用該方法相同。Java/Ruby:有沒有辦法在Java中執行.constantize或Object.send()?
我想要做的是...有點棘手...我想要字符串「var1 == var2」在我的Java應用程序中轉換爲實際變量,然後進行評估。
有沒有辦法做到這一點?
在Ruby中,您可以執行"var1".constantize
以獲取實際變量var1
。 Ruby也具有Model.Send(「方法名稱,參數可以在這裏,等等」),它將與實際調用該方法相同。Java/Ruby:有沒有辦法在Java中執行.constantize或Object.send()?
我想要做的是...有點棘手...我想要字符串「var1 == var2」在我的Java應用程序中轉換爲實際變量,然後進行評估。
有沒有辦法做到這一點?
您是否考慮過使用JRuby?
至於你的問題:
在Java中,如果您希望對變量進行動態查找,您通常會將它們放置在Map中,並使用該Map的鍵進行查找。
你能解釋一下你正在做的更詳細的工作嗎?我懷疑你正在嘗試做什麼可以簡單地用Java中的不同方式完成。
在Java中,類似的行爲是通過Reflection API實現的。但是,由於Java是一種編譯語言,編譯時會刪除局部變量(在方法,構造函數,參數等內)信息。 但是,您仍然可以完全訪問類名稱,層次結構,方法和字段(類變量)。
一個好的起點是Object的Reflection API tutorial或getClass()方法。