虽然将一个相当简单的应用程序从Java转换为Kotlin
,但我遇到了一个'问题',我似乎无法修复。
我有一个类ScanInfo
在Java中看起来像这样(没有getter和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)
提前致谢。
答案 0 :(得分:2)
那就是:
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
}
}