Kotlin使用注意事项

作者: 小斌_bingor | 来源:发表于2018-08-29 16:49 被阅读217次

1.Java调用Kotlin

如果在Java代码里面调用了Kotlin的代码,编译的时候报类似下面的错误 找不到包或者类

那么,很可能是这个包对应Module的build.gradle文件没有配置 applyplugin:'kotlin-android',加上即可

apply plugin: 'kotlin-android'

拓展:其他插件

kotlin-android-extensions

kotlin-android-extensions 是用来替代findViewById的插件,假设有一个布局文件 activity_main,那么在Activity类里面,只需要把布局文件import进去即可,import之后直接根据控件的id即可进行UI操作,如下:

//1
apply plugin: 'kotlin-android-extensions'
//2
import kotlinx.android.synthetic.main.activity_main.*
//3
textView.setText("hello world")

kotlin-kapt

如果你的Kotlin代码里面有使用到注解,那么需要加入这个插件(kapt 即 Kotlin annotation processing tool,Kotlin 注解处理工具的缩写)

apply plugin: 'kotlin-kapt'

2.Kotlin避免空指针

Kotlin提供了!!和?操作符来协助规避空指针异常的问题
网上找到关于!!的解释:表示当前对象不为空的情况下执行
这个介绍是错误的!错误的!错误的!
实际上,!!是表示当前这个地方可能存在 kotlin.KotlinNullPointerException 的风险,你需要谨慎处理,并不会因为对象为空就不执行这行代码

如何正确避免空指针:

使用"?",如下:

var abc: Int? = null
        abc?.let {
            //只有abc不为null才会执行这里面的代码
            //do anything what u want
        }

Kotlin的成员变量无法被Java子类使用的问题

你可能会碰到这样的问题: 父类定义一个变量 说这个变量是私有的(英文不好,大概这么个意思吧)

解决方法

abstract class Test{
    @JvmField
    protected var TAG: String
}

待续

相关文章

  • kotlin使用注意事项

    1.kotlin与databindingkotlin中使用databinding注意事项 在build文件中添加d...

  • Kotlin中的继承

    Kotlin中的继承 如何定义继承?当然是使用open关键字啦 案例: 子类继承 注意事项:使用 : 代表继承父类...

  • Kotlin使用注意事项

    1.Java调用Kotlin 那么,很可能是这个包对应Module的build.gradle文件没有配置 appl...

  • Kotlin| 实践

    本文用于记录我在使用 Kotlin 中遇到的问题,有注意事项,也有与 java 的比较,比较零散,持续更新,遇到问...

  • Kotlin Clone Object

    Kotlin Clone Object 1. 实现接口 2. 重写方法 3. 注意事项

  • kotlin调Java代码和调kotlin代码总结

    java类参数和kotlin类为参数区别 kotlin使用Java代码的callback kotlin使用kotl...

  • Kotlin开发总结

    纲要 前言 Kotlin是什么? 为什么使用Kotlin? Kotlin常用特性有哪些? 如何在开发中使用Kotl...

  • Kotlin Weekly 中文周报 —— 13

    Kotlin Weekly 中文周报 —— 13 Kotlin 开发中文周报 文章 使用 Kotlin Corou...

  • Kotlin入门指南

    鼓励使用Kotlin, 鼓励使用新特性, 提倡Kotlin严格Review 代码规约 Coding Convent...

  • kotlin协程使用笔记

    kotlin使用协程的准备工作 本人使用idea + maven构建项目,使用kotlin + 协程 + 编译项目...

网友评论

    本文标题:Kotlin使用注意事项

    本文链接:https://www.haomeiwen.com/subject/wdlkwftx.html