В исходном коде kotlin я не могу понять, как реализовать длину String.kt, это так:
package kotlin public class String : Comparable<String>, CharSequence { companion object {} /** * Returns a string obtained by concatenating this string with the string representation of the given [other] object. */ public operator fun plus(other: Any?): String public override val length: Int public override fun get(index: Int): Char public override fun subSequence(startIndex: Int, endIndex: Int): CharSequence public override fun compareTo(other: String): Int}
var len:Int = "abc".length; // len = 3 where to run the length??
где реализовать функцию длины?
Строковые функции являются примерами того, что Котлин рассматривает Intrinsic
функции. Они определяются на основе платформы, на которой они работают, и вы не сможете найти их реализацию в исходном коде.
Для JVM они будут непосредственно сопоставлены с соответствующими родными методами java.lang.String
. Это гарантирует отсутствие накладных расходов во время выполнения и использует оптимизацию, выполняемую в стандартной библиотеке java.