@JvmName 是常见的应用到文件的注解之 ,它改变了对应类的名称,如: @file:JvmName("StringFuntions") package com.example 和Java 不一样的是, Kotlin 允许你对任意的表达式应用注解,而不仅是类和函数的声明及类型。如:@Suppress注解,抑制编译器警告。 fun test(list: List<*>) { @Suppress("UNCHECKED_CAST"...
@file:JvmName("StringUtil") package com.example.jvmannotationsample import android.net.Uri fun String.toUri(): Uri { return Uri.parse(this) } 在Java中调用 1 StringUtil.toUri("https://droidyue.com"); 生成的 class 文件名为 1 ./app/build/tmp/kotlin-classes/debug/com/example/jvmannotations...
TestKt.getKotlin(); 可能有时候你觉得Kotlin为你自动生成的这个类名不好,那你可以通过@file:JvmName注解来自定义类名,就像下面这样。 代码语言:txt AI代码解释 @file:JvmName("MyKotlin") package com.smartcentury.agriculturalmarket.utils /** * @Author: Simon * @CreateDate: 2019/5/16 16:04 * @Des...
} 可以使用@JvmName注解修改所生成的Java类的类名:@file:JvmName("example") packagejqiang.Mutual.Kotlin 那么Java调用时就需要修改类名:jqiang.Mutual.Kotlin.example.bar();在多个文件中生成相同的Java类名(包名相同并且类名相同或者有相同的@JvmName注解)通常是错误的。然而,编译器能够生成一个单一的Java外观...
如果不想 Hello.kt 生成的 Java 类类名为 HelloKt , 可以在 Kotlin 脚本中 使用 @JvmName 注解 修改 Kotlin 生成的 Java 类名 , 相当于 为 Hello.kt 取了一个别名 ; 用法示例 : 代码语言:javascript 代码运行次数:0 运行 AI代码解释 @file:JvmName("Hello") ...
@file:JvmName("StringUtil") package com.example.jvmannotationsample import android.net.Uri fun String.toUri(): Uri { return Uri.parse(this) } 1. 2. 3. 4. 5. 6. 7. 8. 9. 在Java中调用 StringUtil.toUri("https://droidyue.com"); ...
@file:JvmName("Hello") 1. Kotlin 代码示例 : @file:JvmName("Hello") fun sayHello() { println("Hello World !") } 1. 2. 3. 4. 5. Java 代码示例 : public class JavaMethod { public static void main(String[] args) { Hello.sayHello(); ...
@file:JvmName("Top") packagecom.example funtopFunction(): String { return"这是一个顶级方法" } 对应的Java代码调用也就变成了Top.topFunction()。 本地函数 local functions 下面展示一段由Kotlin编写的模拟校验用户注册提供的账号密码是否合规的代码,我们假设用户...
@file:JvmName("UserService")@file:JvmMultifileClasspackagecom.imooc.kotlin_first.studyfunsaveUser(username:String){ println(username) } 使用JvmName注解自定义Class名称,使用JvmMultifileClass注解可以将多个kotlin文件(JvmName注解提供的名称一样)编译到一个Class中 ...
JvmName & JvmMultifileClass 当我们在迁移的时候会将Java的工具类翻译为Kotlin拓展函数或者顶层函数。但是这样处理之后,在Java文件中是无法直接调用的,此时我们需要加注解 @file:JvmName(“文件名称”): Ext.kt文件 @file:JvmName("ExtUtils") package com.demo.javaAndKotlin ...