2011-01-26 4 views
1

주로 groovy로 프로그램하지만 가끔 너무 느립니다. 따라서 별도의 .java 클래스를 작성하고 Java 메소드에서 더 빨리 실행해야하는 코드를 넣고 그루비 코드에서 Java 메소드를 호출하십시오.Groovy와 Java 코드를 같은 클래스에 사용할 수 있습니까?

이로 인해 두 개의 개별 파일과 두 개의 개별 클래스로 끝납니다. Groovy 파일에 자바 메소드를 삽입 할 수있는 방법이 있습니까? 주석을 사용하여 자바임을 나타낼 수 있습니까?

답변

2

이것은 groovy ++의 배경입니다. @Typed 어노테이션으로 클래스 또는 메소드를 표시하면 동적 유형 지정 대신 정적 유형 지정을 사용하게되지만 Groovy의 장점은 많이 유지합니다.

정확히 java가 아닌 반면, typed groovy ++ 메소드는 일반적으로 java와 거의 동일하게 수행됩니다. 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 ++는 완전히 다른 말입니다. JavaClass는 "Java"로 완전히 채워질 필요가 있습니다. 그러나 관련된 Groovy 메서드에서 형식을 사용하면 문제가 훨씬 쉽게 해결 될 수 있습니다.

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

속도의 부족이 그루비의 동적 인 특성이라고 생각되면 해당 지점에서 전체 유형을 사용하십시오.

관련 문제