Kotlin Android开发学习记录
来源:互联网 发布:知乎首页背景 编辑:程序博客网 时间:2024/05/22 02:37
1, Singleton的写法
Kotlin写法
object TestFile { fun sum(a: Int, b: Int): Int { return a * b }}
在kotlin 中通过object关键字定义单例类
在JAVA中调用方法如下
int result = TestFile.INSTANCE.sum(6, 2);Toast.makeText(MainActivity.this, result + " is the result", Toast.LENGTH_SHORT).show();
注意事项:
- java 中无需使用new TestFile()来调用,kotlin中自动处理了private构造方法, java中调用会提示类似private accessible constructor一类的错误, new调用的话,需要类型为class, 不能是object
- 定义object关键字后,默认类型就是public, 无需再定义public访问类型,输出Int和String类型
2, String与Int混用
//这样写法会提示编译错误
println(a * b + ” result”)
//这样写可以输出成功
println(“” + a * b + ” result”)
//或者这样也可以输出成功
println((a * b).toString() + ” result”)
3, TODO - 抛异常
fun start(): String = TODO("fdsafdsaf")//抛出以下异常错误信息Exception in thread "main" java.lang.Exception: fdsafdsaf at KotlinUtilKt.TODO(kotlinUtil.kt:1) at TaskKt.start(Task.kt:1) at TestStart.testOk(Test.kt:6)
4, 类型转换
强制类型转换可以用以下方法
var iterator = collection.iterator() as Iterator//或者var iterator: Iterator<Int> = collection.iterator()
5, joinToString() - 简单处理字符串拼接方法
看joinToString的源代码如下,已经默认自定义好分隔符,前缀,后缀等属性,可以直接拿来修改使用
fun <T> Array<out T>.joinToString( separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: (T) -> CharSequence = null): String (source)
例如,需要输入a b c d e ,返回[a-b-c-d-e], 只需要如下代码:
fun joinStrings(strs: Array<String>): String { return strs.joinToString(prefix = "[", postfix = "]",separator = "-") }
6, 方法返回类型
方法返回类型可以自动判定, fun() = 这种写法可以自动判定返回类型,下边例子可以动态判定是返回Int 还是 String
fun testType(obj : Any) = if (obj is Int) (obj.toString() + " Integer") else " others"
7, 方法参数
如果方法有多个参数,并且赋值默认参数值,在调用方法时可以只写入需要变化的参数值,例如
fun testParams(a: Int = 4, b: Int = 5, c: Int = 6) = a + b + c fun testParams2() = testParams(b = 10)
在调用testParams2()时,得到的结果是20, a, c都采用默认值,b被重新赋值为10
8, Raw Strings
定义字符串的方法,有一种叫做raw string, 例如下:
fun getString(str: String):String{ return """ price: ${'$'}999 name: ${str} """}
当输出调用getString(“aaaa”)时,结果是:
price: $999 name: aaaa
而且支持换行,很方便
- Kotlin Android开发学习记录
- Kotlin 开发Android问题记录
- 使用Kotlin开发android学习记录(一)
- Android开发学习Kotlin
- android kotlin 学习网站 记录
- Kotlin 学习记录
- kotlin学习记录
- 学习kotlin 记录笔记。----数据类型
- 学习Kotlin笔记记录。--------function
- 学习Kotlin笔记记录。--------类
- Bandhook-Kotlin 开源 android [记录]
- 使用Kotlin开发Android
- Kotlin配置开发Android
- 用Kotlin开发Android
- 使用Kotlin开发Android
- Android 开发中的KotLin
- Kotlin进行Android开发
- Android Kotlin开发尝鲜
- tableView以及cell的使用
- x265-1.8版本-encoder/motion.cpp注释
- C++继承与派生
- error while loading shared libraries: libQtGui.so.4: cannot open shared object file:
- 文字的发音
- Kotlin Android开发学习记录
- 算法之美_源代码发布(8)
- x265-1.8版本-encoder/motion.h注释
- EL表达式语言,JSTL,文件的上传与下载
- hdoj 2022 海选女主角
- x265-1.8版本-encoder/ratecontrol.cpp注释
- java 读取Excel所需jar包
- java项目与javaweb项目导入jar包的区别
- 自编题——找数列