Kotlin – 具有不同参数的辅助构造函数

在将一个相当简单的应用程序从Java转换到Kotlin我遇到了一个我无法解决的问题。

我有一个类似的ScanInfo类似Java(没有getters和setter)

 public class ScanInfo { private String source; private String label_type; private String data; public ScanInfo(Intent intent) { ... Get Info from intent and assign the values ... this.source = ... this.label_type = .... this.data = .... } } 

现在在Kotlin我可以创建课程

 class ScanInfo (var source: String, var label_type: String, var data: String) 

但我不知道如何让它工作,所以我可以用Intent作为参数创建一个ScanInfo对象。 我尝试与同伴,对象,伴侣对象,但我似乎无法找到正确的语法。

我在使用Kotlin时寻找这样的解决方案是错误的,还是我没有使用正确的kotlin-constructor ? 如果可能的话,我如何创建一个带Intent参数的ScanInfo对象?

 var result = ScanInfo(intent) 

提前致谢。

就是这个方法:

 class ScanInfo(intent: Intent) { private val source = intent.source private val labelType = intent.labelType private val data = intent.data } 

要么

 class ScanInfo(intent: Intent) { private val source: String private val labelType: String private val data: String init { source = intent.data labelType = intent.data data = intent.data } }