TestKt.getKotlin(); 可能有时候你觉得Kotlin为你自动生成的这个类名不好,那你可以通过@file:JvmName注解来自定义类名,就像下面这样。 代码语言:txt AI代码解释 @file:JvmName("MyKotlin") package com.smartcentury.agriculturalmarket.utils /** * @Author: Simon
在Kotlin中,可以使用@JvmName注解来为重载方法指定一个不同的Java方法名。通过将@JvmName注解添加到Kotlin文件的顶部,可以为整个文件中的重载方法指定一个新的Java方法名。 以下是示例代码: 代码语言:txt 复制 @file:JvmName("JavaMethod") class MyClass { // Kotlin重载方法 @JvmName("fooInt") fun foo(value...
} 我们还也可以通过注解@file:JvmName指定生成的类名: @file:JvmName("Top") packagecom.example funtopFunction(): String { return"这是一个顶级方法" } 对应的Java代码调用也就变成了Top.topFunction()。 本地函数 local functions 下面展示一段由Kotlin编写的模拟...
@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...
可以使用@JvmName注解修改所生成的Java类的类名:@file:JvmName("example") packagejqiang.Mutual.Kotlin 那么Java调用时就需要修改类名:jqiang.Mutual.Kotlin.example.bar();在多个文件中生成相同的Java类名(包名相同并且类名相同或者有相同的@JvmName注解)通常是错误的。然而,编译器能够生成一个单一的Java外观类...
任何应用到 file 目标的注解都必须放在文件的顶层,放在 package 指令之前。@JvmName 是常见的应用到文件的注解之 ,它改变了对应类的名称,如: @file:JvmName("StringFuntions") package com.example 和Java 不一样的是, Kotlin 允许你对任意的表达式应用注解,而不仅是类和函数的声明及类型。如:@Suppress注解,抑制...
public final class TopExtFileFormatKt {//一般以文件名+"Kt"后缀作为容器类名 @NotNull public static final String formateFileSize(double size) {//顶层函数反编译成Java中静态函数 if(size < (double)0) { return "0 KB"; } else { double kBSize = size / (double)1024; ...
@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("Utils") @file:JvmMultifileClass package com.example.maqiang.sss fun getB() = "B" 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Java调用Kotlin的顶级函数 public class JavaJvm { public static void main(String[] args) { ...
@file:JvmName("Json")packagecom.example.baseimportcom.google.gson.Gsonimportcom.google.gson.reflect.TypeTokeninlinefun<reifiedT>fromJson2List(json:String)= fromJson<List<T>>(json)inlinefun<reifiedT>fromJson(json:String): T? {returntry{valtype =object: TypeToken<T>() {}.typereturnGson().fr...