来自Java的kotlin函数默认参数 [英] kotlin function default arguments from java
本文介绍了来自Java的kotlin函数默认参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
遵循科特林课程:
class Foo {
public fun bar(i: Int = 0): Int = 2 * i
}
我如何在没有Java/groovy代码的任何参数的情况下调用"bar"函数?
How should I call 'bar' function without any parameter from a java/groovy code?
def f = new Foo()
f.bar() //throws: java.lang.IllegalArgumentException: Parameter specified as non-null contains null
推荐答案
您现在可以在Kotlin中进行此操作.对于您的类方法,请使用 @JvmOverloads
注释.>
You can do this now in Kotlin. For your class method, use the @JvmOverloads
annotation.
class Foo {
@JvmOverloads public fun bar(name: String = "World"): String = "Hello $name!"
}
现在只需从Java调用它即可:
Now simply call it from Java:
Foo foo = new Foo();
System.out.println(foo.bar());
System.out.println(foo.bar("Frank"));
输出以下内容:
Hello World!
Hello World!
你好弗兰克!
这篇关于来自Java的kotlin函数默认参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文