假设我们有一个Java静态方法:
//Java code
public static void printFoo() {
System.out.println("foo");
}
可以在Kotlin中调用该方法吗?
是的你可以。 Java代码:
public class MyJavaClass {
public static void printFoo() {
System.out.println("foo");
}
}
Kotlin代码:
fun main(args: Array<String>) {
MyJavaClass.printFoo()
}
这么容易=)
是。它在Java Interop中有记录
http://kotlinlang.org/docs/reference/java-interop.html
文档显示以下示例
if (Character.isLetter(a)) {
// ...
}
我看到的唯一警告是,它们不能与实例一起传递,并且像在Java中一样可以在类的实例上访问,但这通常被认为是不好的做法。
0wl的答案通常是正确的。
我只是想补充说一些Java类被映射到特殊的Kotlin类。在这种情况下,您必须完全限定Java类才能使其正常工作。
例:
fun main(args: Array<String>) {
println(java.lang.Long.toHexString(123))
}