美文网首页
Kotlin 可变参数vararg关键字使用注意

Kotlin 可变参数vararg关键字使用注意

作者: pursuit_hu | 来源:发表于2023-02-08 17:23 被阅读0次

某次在使用 String.format(*args) 是一直提示格式化错误,很费解,后面看了可变参数的介绍后才明白。
开始表演->
首先需要了解的知识点如下(感谢网上的大佬的总结):

  • args 带*号,会重新复制一个新的对象
  • args 无*号,会直接将传入的数据转换成一个Object类型

这个很重要,这会便于理解下面给出示例代码

// TODO(正确写法)
private fun formatStr(content: String, vararg args: Any) {
    println("formatStr->${content.format(*args)}")
}

// TODO(错误写法)
private fun formatStrErr(content: String, vararg args: Any) {
    println("formatStr->${content.format(args)}")
}

fun testStringFormat() {
    for (i in 1..10) {
        val strFormat = "这是第%d行的第%d个日志信息。。。。%s--%s"
        formatStr(strFormat, i / 10, i % 10, "a", "b")
    }
}

结论:在封装带有vararg可变参数的方法中,一定要注意,传递参数时不要少了*号,否则参数在传递的过程中类型就会发生改变。。。。。。切记切记

相关文章

  • Kotlin 可变长参数函数

    何为可变长参数 参数的数量不限,java中...kotlin中使用 vararg 关键字进行标识 kotlin中用法

  • Kotlin学习笔记

    kotlin 学习 kotlin 中使用 vararg 标记可变参数,调用方法: 特性:直接使用函数类型 kotl...

  • kotlin精讲-第2章(10)kotlin函数加强_中

    Kotlin相比于Java 目标 可变参数:vararg关键字 什么是可变参数?适用于参数个数不确定,类型确定的情...

  • Kotlin 可变参数vararg关键字使用注意

    某次在使用 String.format(*args) 是一直提示格式化错误,很费解,后面看了可变参数的介绍后才明白...

  • Kotlin基础语法

    包声明默认导入函数定义关键字fun,参数格式: 参数:类型 可变长参数vararg定义常量和变量var va...

  • Kotlin 可变参数(vararg)中的 *

    最近在看别人写的kotlin代码时,看到一个很特别的东西,在此记录一下 先来看看日志的输出 看到此处是不是很奇怪,...

  • kotlin 常用语法

    kotlin的基础语法 函数定义 函数定义使用关键字 fun,参数格式为:参数 : 类型 可变长参数函数 函数的变...

  • Kotlin相关

    Kotlin安装 Android Studio Idea Kotlin使用 var关键字声明可变属性,val关键字...

  • Kotlin-属性

    1、属性声明 var:可变变量 val:不可变变量 vararg:可变参数(用于参数声明) 类中声明的属性必须进行...

  • Kotlin语法杂记

    1.可变参数规则 可变参数不必是函数的参数列表中的最后一个 用vararg paramName: paramTyp...

网友评论

      本文标题:Kotlin 可变参数vararg关键字使用注意

      本文链接:https://www.haomeiwen.com/subject/boiqkdtx.html