Kotlin 学习记录
来源:互联网 发布:php初学者开发工具 编辑:程序博客网 时间:2024/06/06 13:12
1, Singleton的写法
Kotlin写法
object TestFile { fun sum(a: Int, b: Int): Int { return a * b }}
在kotlin 中通过object关键字定义单例类
在JAVA中调用方法如下
<span style="font-size:14px;">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类型</span><span style="font-size:14px;">//这样写法会提示编译错误println(a * b + " result")//这样写可以输出成功println("" + a * b + " result")//或者这样也可以输出成功println((a * b).toString() + " result")</span>3, TODO() - 抛异常
fun start(): String = TODO("fdsafdsaf")会抛出以下异常错误信息
Exception in thread "main" java.lang.Exception: fdsafdsafat KotlinUtilKt.TODO(kotlinUtil.kt:1)at TaskKt.start(Task.kt:1)at TestStart.testOk(Test.kt:6)
4, 类型转换强制类型转换可以用以下方法
<span style="white-space:pre"></span>var iterator = collection.iterator() as Iterator<Int></pre><pre code_snippet_id="1579101" snippet_file_name="blog_20160215_23_9388123" name="code" class="java"><span style="white-space:pre"></span>//或者<span style="white-space:pre"></span><pre name="code" class="java"><span style="white-space:pre"></span>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], 只需要如下代码:
<span style="font-size:14px;"> fun joinStrings(strs: Array<String>): String { return strs.joinToString(prefix = "[", postfix = "]",separator = "-") }</span>
6, 方法返回类型方法返回类型可以自动判定, fun() = 这种写法可以自动判定返回类型,下边例子可以动态判定是返回Int 还是 String
fun testType(obj : Any) = if (obj is Int) (obj.toString() + " Integer") else " others"
7, 方法参数如果方法有多个参数,并且赋值默认参数值,在调用方法时可以只写入需要变化的参数值,例如
<span style="font-size:14px;"> fun testParams(a: Int = 4, b: Int = 5, c: Int = 6) = a + b + c fun testParams2() = testParams(b = 10)</span>在调用testParams2()时,得到的结果是20, a, c都采用默认值,b被重新赋值为10
8, Raw Strings定义字符串的方法,有一种叫做raw string, 例如下:
fun getString(str: String):String{return"""price: ${'$'}999name: ${str}"""}当输出调用getString("aaaa")时,结果是:
price: $999 name: aaaa而且支持换行,很方便
0 0
- Kotlin 学习记录
- kotlin学习记录
- Kotlin Android开发学习记录
- 学习kotlin 记录笔记。----数据类型
- 学习Kotlin笔记记录。--------function
- 学习Kotlin笔记记录。--------类
- android kotlin 学习网站 记录
- 学习kotlin 记录笔记。----hello word
- 学习Kotlin笔记记录。--------控制流
- kotlin 学习记录 基本语法(1)
- kotlin 学习记录 基本语法 (2)
- kotlin 学习记录 基本语法 (3)
- kotlin学习记录以及一些疑问
- kotlin 学习记录 基本语法 (4 类和继承)
- 使用Kotlin开发android学习记录(一)
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
- Kotlin学习
- Kotlin学习
- 全面复习之SQL(9)-oracle多表查询,连接查询
- [solr] - suggestion
- 文件操作(汇总)
- [WXApi isWXAppInstalled]返回不准确问题
- [solr] - Facet
- Kotlin 学习记录
- 适配iOS9
- [solr] - defType - 查询权重排序
- Lua学习笔记-迭代器和泛型for
- codeforces 623d birthday
- 这40项IT技能都能帮你年薪超过12万美元
- XP系统中安装postgresql,出现Problem running post-install step.解决
- COM组件的初始化
- When to use Tomcat CATALINA_OPTS instead of JAVA_OPTS - See more at: http://www.tikalk.com/java/when