是否可以做类似的事情:
/**
* Converts all of the characters in the string to upper case.
*
* @param str the string to be converted to uppercase
* @return the string converted to uppercase or empty string if the input was null
*/
fun String?.toUpperCase(): String = this?.toUpperCase() ?: ""
toUpperCase
为null安全。this?.toUpperCase()
,
指扩展功能是重命名扩展功能的唯一选择,还是可以从其中引用“超级”功能?
答案 0 :(得分:4)
您不能覆盖现有的成员函数。
如果类具有成员函数,并且定义了扩展函数 具有相同的接收器类型,相同的名称适用于给定 争论,成员总是赢。
是重命名扩展功能的唯一选择,还是可以从其中引用“超级”功能?
您将必须重命名扩展功能并从内部调用要使用的成员函数。
答案 1 :(得分:1)