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)
相关推荐
流星蝴蝶没有剑3 分钟前
CoPaw Agent 对接 Python 客户端开发指南:实现流式响应与实时打印
开发语言·python
咬_咬10 分钟前
go语言学习(数组与切片)
开发语言·学习·golang·数组·切片
小陈工13 分钟前
Python Web开发入门(十八):跨域问题解决方案——从“为什么我的请求被拦了“到“我让浏览器乖乖听话“
开发语言·python·机器学习·架构·数据挖掘·回归·状态模式
m0_4972141514 分钟前
Qt事件系统
开发语言·qt
AI科技星14 分钟前
全维度相对论推导、光速螺旋时空与北斗 GEO 钟差的统一理论
开发语言·线性代数·算法·机器学习·数学建模
赵优秀一一18 分钟前
Python 工程化基础1:环境(conda)、pip、requirements.txt
linux·开发语言·python
li16709027029 分钟前
第十章:list
c语言·开发语言·数据结构·c++·算法·list·visual studio
游乐码32 分钟前
C#List
开发语言·c#·list
xyq202437 分钟前
jQuery Tooltip:深入解析与最佳实践
开发语言
夜猫子ing38 分钟前
如何编写一个CMakelists文件
开发语言·c++