可以在Kotlin中调用Java静态方法

时间:2015-02-26 04:30:56

标签: java methods static kotlin interop

假设我们有一个Java静态方法:

//Java code
public static void printFoo() {
    System.out.println("foo");
}

可以在Kotlin中调用该方法吗?

3 个答案:

答案 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))
}