我试图在Kotlin中填充一个字符串,以在控制台输出上实现一些正确的对齐.这些方面的东西:
accountsLoopQuery - "$.contactPoints.contactPoints[?(@.contactAccount.id)]"
brokerPassword - *****
brokerURI - tcp://localhost:61616
brokerUsername - admin
contactPointPriorityProperties - "contactPointPriority.properties"
customerCollection - "customer"
customerHistoryCollection - "customer_history"
defaultSystemOwner - "TUIGROUP"
Run Code Online (Sandbox Code Playgroud)
我最终用这种方式编写代码 - 用Java的String.format作弊:
mutableList.forEach { cp ->
println(String.format("%-45s - %s", cp.name, cp.value))
}
Run Code Online (Sandbox Code Playgroud)
有没有一个正确的方法来与Kotlin库这样做?
hot*_*key 16
您可以使用.padEnd(length, padChar = ' ')
扩展从kotlin-stdlib
该.它接受所需的length
和可选的padChar
(默认是空格):
mutableList.forEach {
println("${it.name.padEnd(45)} - ${it.value}")
}
Run Code Online (Sandbox Code Playgroud)
还有padStart
在另一个方向上对齐填充.
你可以改用String#format扩展函数,实际上,它是内联到调用站点函数的java.lang.String#format例如:
mutableList.forEach { cp ->
println("%-45s - %s".format(cp.name, cp.value))
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2833 次 |
最近记录: |