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)
相关推荐
Jerry3 分钟前
Jetpack Compose Navigation
android
Hard but lovely16 分钟前
C++11: 自定义异常&&标准异常体系&&回顾c异常处理方式
开发语言·c++
六bring个六38 分钟前
文件压缩处理(一)
开发语言·c#
介一安全40 分钟前
【Frida Android】实战篇17:Frida检测与绕过——基于inline hook的攻防实战
android·网络安全·逆向·安全性测试·frida
Chrikk1 小时前
现代化 C++ 工程构建:CMake 与包管理器的依赖治理
开发语言·c++
世转神风-2 小时前
qt-kits-警告:No C++ compiler,无法正常解析工程项目.pro文件
开发语言·c++
翔云 OCR API2 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
元周民2 小时前
matlab求两个具有共根的多项式的所有共根(未详细验证)
开发语言·matlab
龙之叶2 小时前
Android如何通过adb命令push文件后在媒体库中显示
android·adb
不忘不弃2 小时前
十进制数转换为二进制数
开发语言