String的扩展函数class
Extension function of String class
我想创建一个 String
的扩展函数,它接受一个 String
和 returns 一个新的 String
,字符作为第一个,但按升序排序命令。我怎样才能做到这一点?我是 Kotlin 的新手。
fun String.ascending() = String(toCharArray().sortedArray())
然后:
println("14q36w25e".ascending()) // output "123456eqw"
您可以结合内置扩展来快速完成:
fun String.sortedAlphabetically() = toCharArray().apply { sort() }
首先你得到底层字符数组,然后你对该数组应用排序并return它。如果需要,您可以自由施放结果 .toString()
。
我还有一个:
fun String.inAscending(): String = toMutableList().sortedBy { it }.joinToString("")
更好的是:
fun String.ascending(): String = toMutableList().sorted().joinToString("")
按升序打印字符串字符的扩展函数
方式一:
fun String.sortStringAlphabetically() = toCharArray().sortedArray())
方式二:
fun String.sortStringAlphabetically() = toCharArray().sortedArrayDescending().reversedArray()
方式三:
fun String.sortStringAlphabetically() = toCharArray().sorted().joinToString(""))
方式四:
fun String.sortStringAlphabetically() = toCharArray().sortedBy{ it }.joinToString(""))
那么你就可以通过下面的代码使用这个扩展功能了:
fun main(args: Array<String>) {
print("41hjhfaf".sortStringAlphabetically())
}
输出:14affhhj
在我看来,以 kotlin 的方式进行,即
fun String.sortAscending() = toCharArray().sortedBy{ it }.joinToString("")
我想创建一个 String
的扩展函数,它接受一个 String
和 returns 一个新的 String
,字符作为第一个,但按升序排序命令。我怎样才能做到这一点?我是 Kotlin 的新手。
fun String.ascending() = String(toCharArray().sortedArray())
然后:
println("14q36w25e".ascending()) // output "123456eqw"
您可以结合内置扩展来快速完成:
fun String.sortedAlphabetically() = toCharArray().apply { sort() }
首先你得到底层字符数组,然后你对该数组应用排序并return它。如果需要,您可以自由施放结果 .toString()
。
我还有一个:
fun String.inAscending(): String = toMutableList().sortedBy { it }.joinToString("")
更好的是:
fun String.ascending(): String = toMutableList().sorted().joinToString("")
按升序打印字符串字符的扩展函数
方式一:
fun String.sortStringAlphabetically() = toCharArray().sortedArray())
方式二:
fun String.sortStringAlphabetically() = toCharArray().sortedArrayDescending().reversedArray()
方式三:
fun String.sortStringAlphabetically() = toCharArray().sorted().joinToString(""))
方式四:
fun String.sortStringAlphabetically() = toCharArray().sortedBy{ it }.joinToString(""))
那么你就可以通过下面的代码使用这个扩展功能了:
fun main(args: Array<String>) {
print("41hjhfaf".sortStringAlphabetically())
}
输出:14affhhj
在我看来,以 kotlin 的方式进行,即
fun String.sortAscending() = toCharArray().sortedBy{ it }.joinToString("")