Kotlin:为什么我不能使用我的一个功能?
我想使用我定义的函数接受一个字符串,但软件不会编译。
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
我认为你在Kotlin源代码中使用java.lang.String
而不是kotlin.String
。 请仅使用kotlin.String
而这是Kotlin中字符串文字所具有的类型(但在字节码中它仍然转换为java.lang.String
)。
问题是java.lang.String
的导入。 出于某种原因IntelliJ导入它。