Kotlin 好用工具方法总结

驼峰字符串转换成带有_的拼接小些字符串

apiToken
api_token

fun String.toSnakeCase() = this.split(Regex("(?=[A-Z])")).joinToString("_") { it.toLowerCase() }

获取系统属性,不同系统不一样

 
    println(System.getProperty("User-Agent"))

    //获取所有的属性
    val  properties = System.getProperties()
    //遍历所有的属性
    for (key in properties.stringPropertyNames()) {
        println(key + "=" + properties.getProperty(key))
    }

如安卓 测试手机
Dalvik/2.1.0 (Linux; U; Android 13; Pixel 4a Build/TP1A.220624.014)

字符串的笛卡尔积

用来分配组合使用

/**
 * 迪卡尔积,用于字符串
 *
 * @param arrays 参数列表
 * @return 笛卡尔积
 * arra1: ["a", "b"]
 * arr2: ["c", "d"]
 * result: ["ac", "ad", "bc", "bd"]
 */
fun cartesianProductString(array1: Array, vararg arrays: Array): List {
    return arrays.fold(array1.toList()) { acc, array ->
        acc.flatMap { list ->
            array.map { element -> list + element }
        }
    }
}

用例:

    val arr1 = arrayOf("a","b")
    var arr2 = arrayOf("c","d")
    println(cartesianProductString(arr1,arr2))

你可能感兴趣的:(Kotlin 好用工具方法总结)