Kotlin 1.9中String.empty无法解析,如何替代空字符串""?
Kotlin 1.9 中替代
String.Empty的方案 Kotlin标准库的String类确实没有内置empty属性,但你不用只能局限于"",有以下几个实用方案:
自定义
String伴生对象扩展属性
这是最贴合你需求的方案,给String的伴生对象添加一个扩展属性,就能实现和JavaString.Empty完全一致的用法:val String.Companion.empty: String get() = ""定义完成后,你可以在代码里直接使用
String.empty,比如把你示例中的代码修改为:return prefixedDay.let { it.plus(String.empty) .plus( LocalDate.now() .plusDays(1).month.name.substring(0..2) ) }这个属性全局可用,只需在项目中定义一次即可。
使用标准库顶层函数
emptyString()
Kotlin标准库提供了顶层函数emptyString(),调用后会返回空字符串,用法如下:it.plus(emptyString())不过这个函数的使用频率较低,可读性不如自定义的
String.empty直观。
另外提一句,你示例里的it.plus(String.empty)其实可以直接省略——拼接空字符串不会改变原字符串的内容,属于冗余操作。
内容的提问来源于stack exchange,提问作者Tonnie
相关产品推荐
相关产品推荐

