/ / Kotlin: Perché non posso usare una delle mie funzioni? - Kotlin

Kotlin: Perché non posso usare una delle mie funzioni? - Kotlin

Sto cercando di utilizzare una delle mie funzioni definite che accetta una stringa eppure il software non viene compilato.

fun passes(address: String) = Collections.frequency(addresses, address) <= CONNECTIONS_PER_IP

fun passes(remoteAddress: InetSocketAddress) = passes(remoteAddress.hostName)

L'errore

Ad esempio, non posso nemmeno chiamare la funzione stringa usando una stringa personalizzata passes("127.0.0.1").

L'errore con una stringa personalizzata

None of the following functions can eb called with the arguments supplied.

passes(String) defined in abendigo.Firewall
passes(InetSocketAddress) defined in abendigo.Firewall

risposte:

4 per risposta № 1

Presumo che tu stia usando java.lang.String invece di kotlin.String nel codice sorgente di Kotlin. Si prega di utilizzare solo kotlin.String invece, questo è il tipo di stringhe letterali in Kotlin (ma nel bytecode che è ancora trasformato in java.lang.String).


2 per risposta № 2

Il problema era un'importazione di java.lang.String. Per qualche motivo IntelliJ lo ha importato.