【发布时间】:2021-04-09 21:03:23
【问题描述】:
我有这个 Java 类,想把它转换成 Kotlin,我怎么能有特别是空的构造函数?
class Element {
int id;
Element element1;
Element element2;
public Element() {
}
public Element(int value) {
this.id = value;
}
public Element(int value, Element element1, Element element2) {
this.id = value;
this.element1 = element1;
this.element2 = element2;
}}
我试过这样:
class Element {
var id = 0
var element1: Element? = null
var element2: Element? = null
constructor() {}
constructor(value: Int) {
id = value
}
constructor(value: Int, element1: Element?, element2: Element?) {
id = value
this.element1 = element1
this.element2 = element2
}}
但是当我尝试访问 element.element1 并将其传递给需要 Element 的函数时,它会说:
类型不匹配。 必需:元素 找到:元素?
我改变了函数
fun checkIfElementEqualsSearch(search: Int, rootElement: Element){...}
到
fun checkIfElementEqualsSearch(search: Int, rootElement: Element?{...}
现在就像一个魅力!
感谢您的帮助
【问题讨论】:
标签: kotlin constructor