如何修复 Android Kotlin 中 StringBuilder 的“多行表达式应从新行开始”错误?

问题描述 投票:0回答:1

我在 Kotlin 中使用 StringBuilder 在循环内创建日志消息时遇到问题。

for (person in Persons) {
val logMessage = StringBuilder()
    .append("ID: ${person.Id}, ")
    .append("Name: ${person.name}, ")
    .append("Age: ${person.age}, ")
    .toString()

HyperLog.d(
    TAG,
    logMessage
)}

问题: 我收到 Ktlint 错误: 多行表达式应从新行开始(标准:多行表达式换行)

我尝试调整换行符,但错误仍然存在。谁能建议如何修复此错误并正确格式化方法链?

预期结果: 我想遵循 Kotlin 的最佳实践并避免此 Ktlint 错误,同时保持 StringBuilder 链的可读性。

android kotlin static-analysis ktlint
1个回答
0
投票

StringBuilder
链是多行表达式。 KtLint 规则要求您从新行开始。

在您的代码中,它作为变量赋值开始,与变量声明位于同一行:

val logMessage = StringBuilder()
    .append("ID: ${person.Id}, ")
    .append("Name: ${person.name}, ")
    .append("Age: ${person.age}, ")
    .toString()

为了遵守 KtLint 规则,您需要将表达式放在新行上:

val logMessage =
    StringBuilder()
        .append("ID: ${person.Id}, ")
        .append("Name: ${person.name}, ")
        .append("Age: ${person.age}, ")
        .toString()

就是这样,KtLint 警告现在应该消失了。

© www.soinside.com 2019 - 2024. All rights reserved.