例如,Groovy允许获取由java.nio.file.Path
表示的文件的文本,如下所示:
// Groovy code
import java.nio.file.Path
import java.nio.file.Paths
Path p = Paths.get("data.txt")
String text = p.text
我希望能够在Kotlin中重用Groovy的text
扩展方法。
请注意:我知道Kotlin has a related method这个特例。尽管如此,可能还有一些对Kotlin用户有用的Groovy方法。
答案 0 :(得分:4)
一种方法是在Kotlin中编写一个简单的包装器extension function:
// Kotlin code
import org.codehaus.groovy.runtime.NioGroovyMethods
fun Path.text(): String {
return NioGroovyMethods.getText(this)
}
然后可以使用:
// Kotlin code
import java.nio.file.Path
import java.nio.file.Paths
fun usageExample() {
val p: Path = Paths.get("data.txt")
val text: String = p.text()
}
如果使用Gradle构建项目,这意味着必须将Groovy添加到依赖项中:
// in build.gradle
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.5'
}