Kotlin
无所事事的程序员
时间留下的痕迹
展开
-
Kotlin---列表
前面3种的长度都是固定的,没有add()方法。fun main(){ //1 var list:Array<Int> =arrayOf(1,2,3,4,5) //2 val list2:IntArray = intArrayOf(1,2,3,4,5) //3 var list3= arrayOf(1,2,3,4) //4 var list4= ArrayList<Int>() list4.add(1) list4.add(2原创 2021-03-24 23:09:33 · 205 阅读 · 0 评论 -
Kotlin---!!
fun main(){// !!:判断是否为空,为空则报错。如果没有!!则直接打印null fun method(): Array<Int>? { return null } val list: Array<Int>? = method(); print(list!!)}原创 2021-03-24 23:06:40 · 227 阅读 · 0 评论 -
Kotlin--lazy,observable
延迟属性:lazy,可观察属性:Delegates.observable()lazy:在属性第一次调用时赋值,执行域内内容。observable(…):括号内为初始赋值,在值被替换时,执行域内内容fun main(){// 延迟属性:lazy val name by lazy{ println("Hello") "World" } println(name) println(name)// 可观察属性:Del原创 2021-03-24 23:05:24 · 519 阅读 · 0 评论 -
Kotlin--伴生对象
关键字:companionkotlin没有静态static这个关键词,这个相当于静态属性fun main(){ val aa=TestClass() aa.getName() //aa.getAge //不可以 TestClass.getAge()}class TestClass(){ companion object{ val name:String="Tom" fun getAge(){原创 2021-03-24 23:01:41 · 91 阅读 · 1 评论 -
Kotlin---单例
fun main(){ val a=OneClass val b=OneClass println("${a===b} ---- ${a==b}") val c = TwoClass.getInstance() val d=TwoClass.getInstance() println("${c===d} ---- ${c==d}")}//饿汉式object OneClass//懒汉式class TwoClass private con原创 2021-03-23 20:34:25 · 55 阅读 · 0 评论 -
Android:Kotlin直接使用View id
在bulid.gradle添加:id 'kotlin-android-extensions'例:plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions'}原创 2021-03-14 23:34:03 · 1159 阅读 · 1 评论 -
let,with,apply,run,also
Let的使用:Let可以用于判空操作,比如://javaif(a!=null){ .....}//kotlina?.{ ......}以上这样就可以省去if判断。除此之外,let括号内it表示该对象,在let内执行对象操作时,it不可省去fun main(){ var a=AAA() var x1=a.let { it.m1() it.m2() it.s }}class AAA{ va原创 2021-03-13 02:13:34 · 274 阅读 · 0 评论 -
Kotlin---类
写Java时,少不了对在类中定义属性,然后生成get和set方法。Kotlin中的get和set方法使用方法可以参考下面的代码:class Person() { var age=100 get() = field set(value) {field=30}}以上代码需要注意一些关键字:field,value这里的set,只要类对象去改变改age的值,该类对象的age值都是等于30.class Person() { var age=100原创 2020-11-22 23:21:38 · 111 阅读 · 0 评论 -
Kotlin---扩展函数
//扩展函数 fun String.fristChar():String{ if(this.length==0) { return ""; } return this[0].toString(); } fun String.lastChar():String{ if(this.length==0) { return ""; } ret...原创 2020-11-10 13:31:43 · 164 阅读 · 0 评论 -
Kotlin---某些语法
When相当于switch。/* when表达式 */fun casesWhen(obj:Any?){//这里的“?”表示填入参数时可以填入null when(obj){ 0,1,2,3,4,5,6,7,8,9-> println("${obj}==>这是1-9的数字") "hello"-> println("${obj}==>helloworld") is Char-> println("${obj}=原创 2020-11-05 23:18:15 · 108 阅读 · 0 评论