【发布时间】:2017-06-25 10:34:30
【问题描述】:
我知道 kotlin 扩展函数被编译为静态函数,使用 fileName 作为类名并带有 Kt 后缀。问题是我的单个字符串参数函数在从 java 代码调用时要求两个字符串参数。
扩展功能在 KUtils 文件中
fun String.extractDigits(strValue: String): String {
val str = strValue.trim { it <= ' ' }
var digits = ""
var chrs: Char
for (i in 0..str.length - 1) {
chrs = str[i]
if (Character.isDigit(chrs)) {
digits += chrs
}
}
return digits
}
调用java代码
KUtilsKt.extractDigits("99PI_12345.jpg")
编译时错误信息:
错误:(206, 42) 错误:类 KUtilsKt 中的方法 extractDigits 不能应用于给定类型;
必需:字符串,字符串
找到:字符串
原因:实际参数列表和形式参数列表的长度不同
请帮忙
谢谢
【问题讨论】: