Home
malinkang
Cancel

《Kotlin实战》第7章 运算符重载及其他约定

7.1 重载算术运算符 7.1.1 重载二元算术运算 data class Point(val x: Int, val y: Int) { operator fun plus(other: Point): Point { return Point(x + other.x, y + other.y) } } val p1 = Point(10, 20) va...

《Kotlin实战》第6章 Kotlin的类型系统

6.1 可空性 6.1.1 可空类型 //增加了null检查后,这段代码就可以编译了 fun strLenSafe(s: String?) = if (s != null) s.length else 0 6.1.2 类型的含义 6.1.3 安全调用运算符 安全调用运算符?允许把一次null检查和一次方法调用合并成一个操作。 fun strLenSafe(s: String...

《Kotlin实战》第5章 Lambda编程

5.1 Lambda表达式和成员引用 5.1.1 Lambda简介:作为函数参数的代码块 button.setOnClickLisener(new OnClickListener(){ @Override public void onClick(View view){ //点击后执行的动作 } } button.setOnClickListen...

Kotlin实现单例

饿汉式 //java实现 public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } }...

《Kotlin实战》第4章 类对象和接口

4.1 定义类继承结构 4.1.1 Kotlin中的接口 //接口定义 interface Clickable { fun click() } //实现接口 class Button:Clickable{ override fun click() = println("I was clicked") } 接口的方法可以有一个默认实现。 interface Click...

《Kotlin实战》读书笔记 第3章 函数的定义与调用

3.1 在kotlin中创建集合 val set = hashSetOf(1, 7, 53) val list = arrayListOf(1, 7, 53) val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") //kotlin的javaClass等价于Java的getClass() println(set....

kotlin基础

2.1 基础要素:函数和变量 2.1.1 Hello,world! fun main(args: Array<String>) { println("Hello, world!") } 2.1.2 函数 fun main(args: Array<String>) { println(max(1,2)) } fun max(a:Int,b:I...

Paging 库概述

分页库可帮助您一次加载和显示小块数据。按需加载部分数据可减少网络带宽和系统资源的使用。 在应用程序或模块的build.gradle文件中添加所需的依赖项: dependencies { def paging_version = "2.1.0" implementation "androidx.paging:paging-runtime:$paging_version...

Kotlin作用域函数

Kotlin标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块。当对一个对象调用这样的函数并提供一个lambda表达式时,它会形成一个临时作用域。在此作用域中,可以访问该对象而无需其名称。这些函数称为作用域函数。共有以下五种:let、run、with、apply 以及also。 这些函数基本上做了同样的事情:在一个对象上执行一个代码块。不同的是这个对象在块中如何使用,以及整个表...

Kotlin函数

函数声明 Kotlin中的函数使用fun关键字声明: fun double(x: Int): Int { return 2 * x } 函数调用 调用函数使用传统的方法: val result = double(2) 调用成员函数使用点表示法: Stream().read() // 创建类 Stream 实例并调用 read() 参数 函数参数使用Pascal表示法...