Kotlin已经弃用了
例如,以下代码:
String
类上的 capitalize
函数,并建议使用的替代函数名称过长。这是一个他们在废弃该函数时做出正确决定但对用户体验却做出错误决策的例子。例如,以下代码:
val x = listOf("foo", "bar", "baz").map { it.capitalize() }
通过IDE进行“清理”后,变成:
val x = listOf("foo", "bar", "baz").map { it.replaceFirstChar {
if (it.isLowerCase()) it.titlecase(
Locale.getDefault()
) else it.toString()
} }
这看起来相当丑陋。我们能做些什么来改善它吗?
map { it.replaceFirstChar(Char::uppercase) }
可能稍微简洁一些? - Adam Millerchipif (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString()
实际上是在capitalize()
的弃用注释中建议的,但仍不是正确的解决方案。想象一下这个简单的例子BAku
Kotlin 的建议会保持原样。然而,大写意味着将单词的“第一个字符”大写,其余小写。capitalize()
是一个丑陋的解决方案,他们的新建议又是另一个丑陋的建议。说实话,如果他们没有提出一个误导性的解决方案,那么什么都不建议会更好。 - Farid