2011-01-26 60 views
1

我主要在groovy中編程,但偶爾它太慢了。因此,我編寫了一個單獨的.java類,並將需要在java方法中運行得更快的代碼從我的常規代碼中調用該java方法。有什麼辦法可以爲同一個類使用groovy和java代碼嗎?

這使我結束了兩個單獨的文件和兩個單獨的類。有沒有什麼辦法可以將java方法嵌入到groovy文件中,也許可以用註釋標記它以表明它是java?

回答

2

這是groovy ++背後的想法。使用@Typed註釋標記類或方法將使其使用靜態類型而不是動態類型,同時仍保留常規的優點。

雖然不完全是java,但鍵入的groovy ++方法通常與java會執行相同的操作。

關於Groovy ++的更多信息,請訪問:https://code.google.com/p/groovypptest/wiki/Welcome

0

你不需要做任何特殊。

只需在groovy類後面寫入Java類即可。所有Java源中的99%也是有效的groovy源碼。

class GroovyClass { 
    def a; 
    def doSomething(x,y) { return x*y; } 
} 
class JavaClass { 
    SomeType someVar; 
    public JavaClass() { /* ... */ } // some contructor 
    public void doit(String a, int b) {} // full typed method, that is java 
} 

Groovy ++的somethign完全不同。 JavaClass需要將所有東西都完全鍵入爲「Java」,但是如果您只是在相關的常規方法中使用類型,則可以解決您的問題。

class AnotherGroovyClass { 
    // typed 
    public Result someMethod(SomeArg arg1, SomeOtherArg arg2) { 
    } 
    def someVariable; // untyped 
} 

如果你覺得缺乏速度來源於常規的動態性質就用全類型在相關點。

相關問題