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)
相关推荐
p***h64321 分钟前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
散峰而望24 分钟前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
Porunarufu25 分钟前
Java·关于List
java·开发语言
子不语1801 小时前
Python——函数
开发语言·python
ndjnddjxn1 小时前
Rust学习
开发语言·学习·rust
月光技术杂谈1 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
t198751281 小时前
基于MATLAB的指纹识别系统完整实现
开发语言·matlab
笑非不退2 小时前
C# c++ 实现程序开机自启动
开发语言·c++·c#
专注于大数据技术栈2 小时前
java学习--final
java·开发语言·学习
gihigo19982 小时前
基于MATLAB的IEEE 14节点系统牛顿-拉夫逊潮流算法实现
开发语言·算法·matlab