对于sdk的开发者,同时建议增加@file:JvmName(“ 文件名”),从而禁止生成的kt文件在java语境下被调用到(欺负java不识别空格🤪)。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 @file:JvmName(" Testxx")privateconstvalTAG="KEY_TEST_TAG"classTestKt{privatefuntest(){println(TAG)}} Apply!=构造者模...
@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...
答案:可以使用@file:JvmName(自己自定义的类名) @file:JvmName("TestKotlin1") package com.demo.dan.imoc_voice val Str = "包级成员" fun packFun(): String { return "包级函数" } 1. 2. 3. 4. 5. 6. 7. java调用: public class TestJava { public static void main(String[] args) { Te...
@file:JvmName("example") @file:JvmMultifileClass packagejqiang.Mutual.Kotlin 3.实例字段 如果需要在Java中将Kotlin属性作为字段暴露,那么就需要使用@JvmField注解对其进行标注。该字段将具有与底层属性相同的可见性。如果一个属性有幕后字段(Backing Field)、非私有的、没有open/override或者const修饰符,并且不...
@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(" Testxx") private const val TAG = "KEY_TEST_TAG" class TestKt { private fun test() { println(TAG) } } Apply!=构造者模式 apply 作为开发中的常客,为我们带来了不少便利。其内部实现也非常简单,将我们的对象以函数的形式返回,this 作为接收者。从而以一种优雅的方式实现...
通过Kotlin中的@file: JvmName("自定义生成类名")注解就可以自动生成对应Java调用类名,注意需要放在文件顶部,在package声明的前面 //通过@file: JvmName("FileFormatUtil")注解,将生成的类名修改为FileFormatUtil,并且调用的时候直接调用FileFormatUtil.formateFileSize()即可 //放在文件顶部,在package声明的前面 @...
@JvmName注解可以生成类名;如果类名已存在,可以修改已生成的Java类的类名。 包名相同并且类名相同或者有相同的@JvmName注解有会错误,可以通过@JvmMultifileClass把他们合并到一起,如: //A.kt@file:JvmName("generate")@file:JvmMultifileClass package org.ninetripods ...
@file:JvmName(" Testxx") privateconstvalTAG ="KEY_TEST_TAG" classTestKt{ privatefuntest{ println(TAG) } } 4. Apply!=构造者模式 apply 作为开发中的常客,为我们带来了不少便利。其内部实现也非常简单,将我们的对象以函数的形式返回, this 作为接收者。从而以一种优雅的方式实现对对象方法、属性的调用...