zoukankan      html  css  js  c++  java
  • Kotlin 个人踩坑

    1. kotlin的Null Safety很方便。但是在和java做interop的时候需要额外小心。

    例,java的List可能为空对象,kotlin的List为非空对象。

    将一个java List转成kotlin List后,list?.forEach{...}, intellij会提示冗余的非空检查,使用list.forEach{...}就可以了。

    但是非空检查其实是有必要的。尤其是调用java第三方类库的时候,可能返回空值。

    2.扩展方法重名的问题。

    kotlin允许对类(Class)添加扩展方法。

    调用的时候直接通过obj.extensionMethod{...}即可,本意是提供更多的语法糖。但是随着引入类库的增多,及自定义扩展方法的增多,会出现不同实现的同名方法。都是通过obj.extensionMethod{...}调用。

    需要额外小心选择正确的方法导入,建议不要开启intellij的自动导入,可能会导入错误的实现。

    比如,List.flatMap{...}在kotlin.Collection和arrow库中都存在,但实现方式不同,返回值不同,按需正确导入调用。

  • 相关阅读:
    Disharmony Trees HDU
    Xenia and Bit Operations CodeForces
    Gym
    背包入门
    搜索入门
    Farm Tour POJ
    Flow Problem HDU
    Hie with the Pie POJ
    Building a Space Station POJ
    kuangbin 最短路集合
  • 原文地址:https://www.cnblogs.com/cnsec/p/13547558.html
Copyright © 2011-2022 走看看