Kotlin
文章平均质量分 90
Kotlin之笔记
一个编程界的小学生
滴水穿石
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kotlin之inline class用于data class[spring data]会出现ArrayIndexOutOfBoundsException: x的异常
开门见山inline class作为data class构造参数函数时spring data mongoDb调用save方法时出现ArrayIndexOutOfBoundsException: x的异常简单粗暴情景描述原因结论对比简单粗暴情景描述inline class ProductCode(val value: String)@Documentdata class Test( val name: ProductCode, val id: String, val age原创 2020-12-30 11:58:09 · 388 阅读 · 0 评论 -
Kotlin之inline(内联)
inline为内联的标识符内联类(inline class)内联方法(inline fun)内联属性内联类的唯一作用是成为某种类型的包装有如下限制最多一个参数(类型不受限制)没有backing fields不能有init块不能继承其他类但可以实现接口可以具有属性和方法内联类中有一个装箱和拆箱的概念和操作内联类有节约系统性能开销的作用 但不是一定会节约(鉴于使用者的使用方式,节约性能也是针对一般的包装器而言)参数被用作其他类型时会被装箱(参数类型为:Any\可空类型\泛型\原创 2020-12-28 15:58:26 · 4174 阅读 · 0 评论 -
Kotlin之数据类和接口的注解
Java中设计实体类时一般以继承的方式在基类中存放公共属性和方法Kotlin中则一般以接口方式来实现data class实现的接口 接口中成员上的注解可以在data class重写属性时 限制重写属性import org.bson.types.ObjectIdimport org.hibernate.validator.constraints.Lengthimport org.springframework.data.annotation.*import java.time.LocalDateT原创 2020-12-28 11:08:27 · 578 阅读 · 0 评论 -
Kotlin之扩展函数
**Kotlin之扩展函数**Kotlin里面 函数是一种类型(函数类型) 也是一种对象(函数对象)在函数名前加双冒号(::)即为此函数的函数对象扩展函数对象的调用方法fun String.a() { TODO()}fun test() { String::a.invoke("xxx") (String::a)("xxx")}将扩展函数以对象的方式调用时 把接受者参数(Receiver)放在第一个参数位置扩展函数 和 一般函数 是可以互相转换的 且 函数参数原创 2020-12-28 10:51:15 · 303 阅读 · 0 评论
分享