gpt4 book ai didi

kotlin - 是什么让 Kotlin 中的 String 类能够使用方括号?

转载 作者:行者123 更新时间:2023-12-05 03:26:09 30 4
gpt4 key购买 nike

在 Kotlin 中你可以这样做:

val s: String = "Hey"
println(s[1])

或者简单地说:

println("Hey"[1])

然后你会打印出e .

但是如果您想将此行为扩展到您自己的类中怎么办?您需要实现什么接口(interface)来完成此语法?

我看了String的父类(super class)型,只找到 Comparable<String>CharSequence ,它们本身都没有任何其他父类(super class)型,所以我的任务提前结束了。

例如在 Python 中,通过定义一个名为 __getitem__ 的方法在类中,您可以赋予该类的对象使用方括号语法的能力,例如 a[i] ;我想知道这在 Kotlin 中是如何实现的。

提前致谢。

最佳答案

您可以使用 Kotlin 的运算符重载,特别是 indexed access operators 的重载.

语法 "Hey"[1] 只是 "Hey".get(1) 的别名(如果不在赋值的左侧,它将是 "Hey".set(1, ...)) 的别名。

关于kotlin - 是什么让 Kotlin 中的 String 类能够使用方括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71824484/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com