将@JvmStatic和@JvmField自动应用于Kotlin中的所有文件

我想知道这是否可以通过编译器参数或插件完成。 我有现成的java模块,我转换为kotlin,但它有一堆静态方法/字段。 在某些时候,我想重构一下,但现在我的(Java)这个库的消费者不工作,除非我手动添加缺少@JvmStatic/@JvmField注释伴侣对象字段和方法。 有没有办法自动做到这一点? 谢谢

什么是在Kotlin建造一个class级的正确方法

我有一个有很多非空字段的类,可以是空字段。 如果我宣布他们喜欢 val key : String Kotlin编译器当然会给我一个错误,告诉我它们需要被初始化,所以我想我应该把不可空的部分放在构造函数中,当我需要用非空值初始化的可空字段时添加一个辅助构造函数。 这是为了避免调用一个构造函数,然后调用者,我会然后调用一个构造函数。 这是它出来的样子 import utilities.Constants import java.util.* class Action(val key: String, //val actionNode: ActionNode val date: Date, val stringValue: String, val autoRecognitionStatus: Constants.MeasurementAutoRecognized, val recognitionId: String, val method: Constants.MeasurementMethod, val userKey: String, val userName: String, val isInRange: Boolean) { var pictureUrl: String? = null var remotePictureUrl: String? = null […]

测试包不读取主包中定义的Kotlin类

我似乎无法访问Android Studio项目中我的Kotlin模块中的测试包中的主要类。 请注意,下面显示的所有代码位于导入到Android应用程序中的Kotlin JVM模块中。 这是我的src/main/java代码: import com.google.gson.annotations.SerializedName data class Customer(val password1: String, val password2: String, @SerializedName(“last_name”) val lastName: String, @SerializedName(“first_name”) val firstName: String, val email: String) 我的测试代码在src/test/java : class CreateUser { @Test fun createRandomUser() { val random = Random() val randomNumber = random.nextInt(10000000) val customer = Customer(“password”, “password”, “lastName”, “firstName”, “ted$randomNumber@gmail.com”) } } 我的build.gradle代码如下所示: buildscript […]

kotlin中URLEncodedUtils.format(params,“utf-8”)的替代方法是什么?

我必须将键值对转换为Url查询参数有一个在Java中可用的函数: URLEncodedUtils.format(params, “utf-8”)它在kotlin中的替代方法是什么?

在Android Studio中使用Kotlin捕获和保存图像

我需要帮助惠普kotlin,我需要捕获和保存图像在我的媒体商店我的代码: class MainActivity : AppCompatActivity() { var ListadeProductos= ArrayList() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) camera.setOnClickListener{ val intentCamera= Intent(“android.media.action.IMAGE_CAPTURE”) startActivity(intentCamera) } } }

Kotlin有垃圾收集器吗? 如果是这样,基于哪种算法?

我正在Kotlin上做一个学校项目,需要知道它如何处理垃圾。 它在垃圾回收器中与Java相似吗?

投掷任何types的对象时未经检查强制转换? 成kotlin lambda

我的代码按预期工作,但我很好奇为什么存在以下警告: 忽视警告是否安全? 我知道Kotlin在运行时不能检查擦除types,但不是Kotlin中最通用的(顶级)对象。 我在找什么是一种方法来检查一个对象的types是“lambda”。 顺便说一句:任何? – >任何? 也没有摆脱这个问题。

无法find参数的方法springBoot() – 使用Kotlin的Spring Boot

我尝试用Kotlin创建第一个Spring Boot应用程序。 所以,也许我做了一些明显的错误或类似的东西。 我的gradle.build是: buildscript { ext.kotlin_version = ‘1.0.5-2’ ext.spring_boot_version = ‘1.4.2.RELEASE’ repositories { jcenter() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version” } } apply plugin: ‘idea’ apply plugin: ‘kotlin’ apply plugin: ‘application’ jar { baseName = ‘rest-voter’ version = ‘0.1.0’ } springBoot { mainClass = ‘ru.hixon.Application’ } repositories { jcenter() } dependencies { compile […]

构造器在kotlin派生类中的可分解构造器

这是我之前询问的一个问题的后续。 我使用https://github.com/nekocode/android-parcelable-intellij-plugin-kotlin上的Android Parcelable插件按照bennyl的建议,我将构造函数生成的代码更改为 class ChessClock(context:Context) : TextView(context), Parcelable { lateinit var player:String constructor(context:Context, p:String, angle:Float) : this(context) { player = p rotation = angle } } 这就摆脱了我所问过的语法错误。 我现在还有一个问题,一开始我就忽视了。 该插件为writeToParcel生成了这个代码: override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(player) parcel.writeFloat(rotation) parcel.writeLong(mTime) parcel.writeInt(mState) } 和这个构造函数: constructor(parcel: Parcel) :this() { player = parcel.readString() rotation = parcel.readFloat() mTime = parcel.readLong() […]

Kotlin拓展函数的多态性

我有几个类我不控制 ,我已经创建了几个同名的扩展方法跨几个常见的“属性”。 相同名称的扩展函数总是返回相同的值types,尽管对于每种types的接收器以不同的方式进行计算。 下面是一个基于内置types的简单例子,只有一个属性: // **DOES NOT COMPILE** // three sample classes I don’t control extended for .len inline val String.len get() = length inline val List.len get() = size inline val Sequence.len get() = count() // another class which needs to act on things with .len class Calc(val obj:T) { // HERE IS THE […]