给予以下Kotlin类:
class Foo {
public fun bar(i: Int = 0): Int = 2 * i
}
Run Code Online (Sandbox Code Playgroud)
如何在没有java/groovy代码的任何参数的情况下调用'bar'函数?
def f = new Foo()
f.bar() //throws: java.lang.IllegalArgumentException: Parameter specified as non-null contains null
Run Code Online (Sandbox Code Playgroud)
Jay*_*ard 53
你现在可以在Kotlin做到这一点.对于您的类方法,请使用@JvmOverloads注释.
class Foo {
@JvmOverloads public fun bar(name: String = "World"): String = "Hello $name!"
}
Run Code Online (Sandbox Code Playgroud)
现在只需从Java调用它:
Foo foo = new Foo();
System.out.println(foo.bar());
System.out.println(foo.bar("Frank"));
Run Code Online (Sandbox Code Playgroud)
输出以下内容:
你好,世界!
你好弗兰克!
| 归档时间: |
|
| 查看次数: |
6346 次 |
| 最近记录: |