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)
相关推荐
做萤石二次开发的哈哈7 分钟前
萤石云硬件接入如何完成云对讲套件低代码集成?
android·低代码·rxjava
番茄去哪了15 分钟前
任务调度功能实现
java·开发语言·spring boot
Beginner x_u35 分钟前
前端八股整理|JavaScript|高频小题 01
开发语言·前端·javascript
simplepeng36 分钟前
Kotlin 协程桥接(suspendCoroutine):将任意基于回调的 Android API 转换为挂起函数
kotlin
_MyFavorite_37 分钟前
JAVA重点基础、进阶知识及易错点总结(15)缓冲流 + 转换流
java·开发语言·spring boot
摇滚侠1 小时前
JAVA 项目教程《苍穹外卖-11》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序
不会写DN1 小时前
PHP 中处理图像的利器 GD库
开发语言·php
_MyFavorite_1 小时前
JAVA重点基础、进阶知识及易错点总结(14)字节流 & 字符流
java·开发语言·python
羊小猪~~1 小时前
Redis学习笔记(数据类型、持久化、事件、管道、发布订阅等)
开发语言·数据库·c++·redis·后端·学习·缓存
deep_drink1 小时前
1.2、Python 与编程基础:文件处理与常用库
开发语言·python·elasticsearch·llm