Chr*_*iss 1 extension-methods kotlin
我写了一个startsWith(substring)扩展,它也适用于可为空的字符串。不幸的是,我的实现导致StackOverflowError,导致扩展将自身称为自身而不是String.startsWith(..)方法。
private fun String?.startsWith(sub: String): Boolean = this?.startsWith(sub)==true
Run Code Online (Sandbox Code Playgroud)
可以打电话String.startsWith(..)吗?
您可以使用以下import as语法以startsWith其他名称显式导入标准库的方法,然后可以使用该名称而不会发生冲突:
import kotlin.text.startsWith as ktStartsWith
private fun String?.startsWith(sub: String): Boolean = this?.ktStartsWith(sub) == true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |