Kotlin最初接触时碰的坑

简介: kotlin调用ButterKnife (gradle更新后,ButterKnife不再支持,Kotlin使用的库KotterKnife等待发布) (KotterKnife:https://github.
// app/build.gradle中添加相关配置引入ButterKnifer
dependencies {
     implementation 'com.jakewharton:butterknife:8.8.1'
     kapt 'com.jakewharton:butterknife-compiler:8.8.1'
}
//     kotlin中添加相关注解方式如下
@BindView(R.id.xxxxxx)
lateinit var view:View
//     同java,使用注解
ButterKnife.bind(this)     //     activity为例,其它类比java
  • kotlin多重嵌套向上调用
class A {
     private var m:Int = 0
     inner class B {
          private var m:Int = 1
          inner class C {
               private var m:Int = 2
               fun callFunc{
                    this.m     //     2
                    this@B.m   //     1
                    this@A.m   //     0
               }
          }
     }
}

//     关键字inner,内部类没有加inner前缀,多重内部类无法向上调用
//     适用于隐形内部类
  • kotlin隐形创建接口对象时,提示没有构造函数的问题。no construct
//     错误示例
interface iFace{
     .....
}
var fc = iFace{....}          //     interface iFace does not have constructors
//     使用方法
interface iFace{
     .....
}
var fc = object : iFace{....}          //     interface iFace does not have constructors
  • kotlin使用mutablelist可写列表
    • 与java不同,kotlin分为只读列表List和可读写列表MutableList
var readOnlyList : List<T> = emptyList()     
var readOnlyList : List<T> = listOf(t1, t2, t3, t4)   // 只读列表

var readWriteList : MutableList<T> = mutableListof()     //     可读写列表
var readWriteList : MutableList<T> = mutableListOf<T>()

坑列表会持续更新。。。。

目录
相关文章
|
Java Kotlin
kotlin不容忽视的小细节
kotlin不容忽视的小细节
43 0
|
3月前
|
开发者 C# Android开发
明白吗?Xamarin与Native的终极对决:究竟哪种开发方式更适合您的项目需求,让我们一探究竟!
【8月更文挑战第31天】随着移动应用开发的普及,开发者面临多种技术选择。本文对比了跨平台解决方案Xamarin与原生开发方式的优势与劣势。Xamarin使用C#进行跨平台开发,代码复用率高,可大幅降低开发成本;但因基于抽象层,可能影响性能。原生开发则充分利用平台特性,提供最佳用户体验,但需维护多套代码库,增加工作量。开发者应根据项目需求、团队技能和预算综合考量,选择最适合的开发方式。
103 0
|
消息中间件 Oracle Dubbo
Java 之父偏爱函数式编程,反而被队友讨厌:编码风格简直像疯子!
Java 之父偏爱函数式编程,反而被队友讨厌:编码风格简直像疯子!
|
开发者 Java 网络安全
消灭 Java 代码的“坏味道” | 开发者必读(078期)
最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》!
955 0
|
设计模式 Java Kotlin
带你踏入kotlin大门(四)|基本功_逻辑控制篇
本系列的上一篇文章中,笔者给大家讲述 kotlin 中的 头等公民 ——函数,相信 Kotlin 中函数的简单使用大家都很熟悉了,现在继续给大家讲述 Kotlin 中的逻辑控制语句。
带你踏入kotlin大门(四)|基本功_逻辑控制篇
|
设计模式 Java 开发者
带你踏入kotlin大门(五)|基本功_类和继承篇
本篇作为 Kotlin 基本功的倒数第二篇,将为大家带来关于 Kotlin 中类和继承的知识。如果你看到这篇文章的时候,还未听说过 Kotlin 或者从未学习过 Kotlin ,你可以点击链接从本系列的第一篇文章开始学习。
带你踏入kotlin大门(五)|基本功_类和继承篇
|
存储 Java 编译器
带你踏入kotlin大门(二)|基本功_变量篇
本篇正式开启 kotlin 的学习历程,带你正式踏入 kotlin 大门。
带你踏入kotlin大门(二)|基本功_变量篇
|
XML 存储 算法
Kotlin 实战 | 时隔一年,用 Kotlin 重构一个自定义控件
一年前,用 Java 写了一个高可扩展选择按钮库。只用单个控件实现单选、多选、菜单选,且选择模式可动态扩展。 一年后,试着用 Kotlin 重写该控件。
793 0
|
设计模式 安全 Java
带你踏入Kotlin大门(六)|基本功_接口和特殊类篇
这篇文章是我们 Kotlin 基础章系列的最后一文了,前面我们利用了5篇文章讲解了 Java 开发者如何学好 Kotlin 的基本用法,每篇文章的篇幅都不长,可以在空余时间快速阅读,笔者希望学习完前五篇,再来学习这最后一篇文章,会更加的容易理解。
|
消息中间件 算法 前端开发
Kotlin可能带来的一个深坑,实战篇
Kotlin可能带来的一个深坑,实战篇
Kotlin可能带来的一个深坑,实战篇