已有項目添加maven支持
這個其實怪我眼瞎塌鸯,沒看到
右擊module -> Add Framwork Support... ->選中maven確定即可
java靜態(tài)方法和kotlin伴生對象
java直接轉(zhuǎn)過來的靜態(tài)方法報錯,發(fā)現(xiàn)他多了一個override,但是貿(mào)然刪了又覺得不妥揪垄,就查查靜態(tài)方法的資料
- kotlin的伴生對象肪凛,可以理解為靜態(tài)方法戳葵。
- 但又不完全是戏自,因為伴生對象畢竟也還是對
- 轉(zhuǎn)成java方法之后猛们,一般對象被理解為class庐橙,需要用名稱調(diào)用方法名郁惜,而伴生對象恰如靜態(tài)方法一樣虎韵,可以直接調(diào)用
java
public static DataResult initResult(){
return new DataResult(0,"success!");
}
kotlin
//自動轉(zhuǎn)會轉(zhuǎn)成這個樣子
companion object {
override fun initResult(): DataResult {
return DataResult(0, "success!")
}
}
//真的只要刪掉override就行了
companion object {
fun initResult(): DataResult {
return DataResult(0, "success!")
}
}
java中的靜態(tài)方法,在kotlin中其實就是伴生對象
lazy和lateinit的區(qū)別
lateinit var testLateinit:String
val testLazy: String by lazy { "test" }
-
lazy
- 只能在val變量使用
-
lateinit
- 只能在var類型使用
- 只能用在不為空屬性上
- 不能用在基礎數(shù)據(jù)類型上
其他參見var與val的區(qū)別