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