已有项目添加maven支持
这个其实怪我眼瞎,没看到
右击module -> Add Framwork Support... ->选中maven确定即可
java静态方法和kotlin伴生对象
java直接转过来的静态方法报错,发现他多了一个override,但是贸然删了又觉得不妥,就查查静态方法的资料
- kotlin的伴生对象,可以理解为静态方法。
- 但又不完全是,因为伴生对象毕竟也还是对
- 转成java方法之后,一般对象被理解为class,需要用名称调用方法名,而伴生对象恰如静态方法一样,可以直接调用
java
public static DataResult initResult(){
return new DataResult(0,"success!");
}
kotlin
//自动转会转成这个样子
companion object {
override fun initResult(): DataResult {
return DataResult(0, "success!")
}
}
//真的只要删掉override就行了
companion object {
fun initResult(): DataResult {
return DataResult(0, "success!")
}
}
java中的静态方法,在kotlin中其实就是伴生对象
lazy和lateinit的区别
lateinit var testLateinit:String
val testLazy: String by lazy { "test" }
-
lazy
- 只能在val变量使用
-
lateinit
- 只能在var类型使用
- 只能用在不为空属性上
- 不能用在基础数据类型上
其他参见var与val的区别