在Kotlin中调用Java静态方法的可能性

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

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

在Kotlin中可以调用这个方法吗?

是的你可以。 Java代码:

 public class MyJavaClass { public static void printFoo() { System.out.println("foo"); } } 

科特林代码:

 fun main(args: Array) { 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) { println(java.lang.Long.toHexString(123)) }