如何使用Java
來確定Groovy
變量的類型?
例如,我們有下一個Groovy
代碼:確定變量類型
a = new Integer(4);
b = a + 1;
a = "b = " + b;
我們如何編程進行分析並確定b = a + 1;
行類型a
變量是java.lang.Integer
?
由於a
是動態變量,我們無法從Groovy AST
獲取其類型,因爲AST
不包含此類信息。
- 更新:增加了更多的細節
- 更新:澄清問題
如何使用Java
來確定Groovy
變量的類型?
例如,我們有下一個Groovy
代碼:確定變量類型
a = new Integer(4);
b = a + 1;
a = "b = " + b;
我們如何編程進行分析並確定b = a + 1;
行類型a
變量是java.lang.Integer
?
由於a
是動態變量,我們無法從Groovy AST
獲取其類型,因爲AST
不包含此類信息。
,能夠使用StaticTypeCheckingVisitor
的。 In order to see more details, please, follow this link
在java中可以使用instanceof
以確定類型的對象
感謝您的迴應,'instanceof'將有助於確定一個對象的類型代碼,但我需要確定代碼之外的類型 - 即某種類型推理的代碼分析器。 –
a.getClass()會這樣做。 更多的信息在這裏http://stackoverflow.com/questions/2060427/groovy-grails-how-to-determine-a-data-type – 2012-12-20 17:44:42