Kotlin 中注解 @JvmOverloads 的作用

@JvmOverloads 注解的作用就是:在有默认参数值的方法加上 @JvmOverloads 注解,则 Kotlin 就会暴露多个重载方法。

例如,没有加注解,默认参数没有起到任何作用。

kotlin 复制代码
fun f(a: String, b: Int = 0, c: String = "abc") {

}

那相当于在 Java 中定义:

java 复制代码
void f(String a, int b, String c) {

}

如果加上注解 @JvmOverloads,默认参数起到作用:

kotlin 复制代码
fun f(a: String, b: Int = 0, c: String = "abc") {

}

// 相当于 Java 中
void f(String a)
void f(String a, int b)
void f(String a, int b, String c)
相关推荐
白杨尚青6 小时前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
.道阻且长.6 小时前
Linux基本开发工具:gdb和cgdb的使用
linux·运维·服务器·开发语言
恋猫de小郭6 小时前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
starzy19907 小时前
深入理解Scala匿名函数:函数式编程基石
开发语言·scala
apcipot_rain7 小时前
C++转Java日记(05)
java·开发语言·c++
apcipot_rain16 小时前
C++转Java日记(04)
java·开发语言·c++
云和数据.ChenGuang18 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
金銀銅鐵18 小时前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
蜗牛一步步往上爬21 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
好的佩奇1 天前
Dart 之扩展方法
android·flutter·dart