Kotlin:为什么我不能使用我的功能之一?
Kotlin: Why can't I use one of my functions?
我正在尝试使用我定义的接受字符串的函数之一,但软件无法编译。
fun passes(address: String) = Collections.frequency(addresses, address) <= CONNECTIONS_PER_IP
fun passes(remoteAddress: InetSocketAddress) = passes(remoteAddress.hostName)
我什至无法使用自定义字符串调用字符串函数,例如 passes("127.0.0.1")
。
None of the following functions can eb called with the arguments supplied.
passes(String) defined in abendigo.Firewall
passes(InetSocketAddress) defined in abendigo.Firewall
问题是 java.lang.String
的导入。由于某种原因,IntelliJ 导入了它。
我假设您在 Kotlin 源代码中使用 java.lang.String
而不是 kotlin.String
。请只使用 kotlin.String
代替,这是 Kotlin 中字符串文字的类型(但在字节码中它仍然转换为 java.lang.String
)。
我正在尝试使用我定义的接受字符串的函数之一,但软件无法编译。
fun passes(address: String) = Collections.frequency(addresses, address) <= CONNECTIONS_PER_IP
fun passes(remoteAddress: InetSocketAddress) = passes(remoteAddress.hostName)
我什至无法使用自定义字符串调用字符串函数,例如 passes("127.0.0.1")
。
None of the following functions can eb called with the arguments supplied.
passes(String) defined in abendigo.Firewall
passes(InetSocketAddress) defined in abendigo.Firewall
问题是 java.lang.String
的导入。由于某种原因,IntelliJ 导入了它。
我假设您在 Kotlin 源代码中使用 java.lang.String
而不是 kotlin.String
。请只使用 kotlin.String
代替,这是 Kotlin 中字符串文字的类型(但在字节码中它仍然转换为 java.lang.String
)。