java 到 kotlin 记录

2017 google IO 宣布kotlin正式成为官方支持的语言。最近开始做一个新的项目,就在项目中尝试了用kotlin来开发。
开发过程中遇到了一些问题。Java和 Kotlin的写法有很大的区别,所以整理了一下做个记录。

1.单例

单例是我们在开发中经常会写到的。

Java的写法:
<pre><code>
package pinkdiary.xiaoxiaotu.com.net;

public class HttpMethods {

private static HttpMethods INSTANCE;
public static HttpMethods getINSTANCE(){
    if (null == INSTANCE){
        INSTANCE = new HttpMethods();
    }
    return INSTANCE;
}}

</code></pre>
Kotlin的写法:
<pre><code>
class HttpMethods{

companion object{
    private var INSTANCE: HttpMethods? = null
    fun getInstance(): HttpMethods{
        if (null == INSTANCE){
            INSTANCE = HttpMethods()
        }
        return INSTANCE as HttpMethods
    }
}

}
</code></pre>

2.静态方法

kotlin中没有static 关键字,不能像Java一样直接类名.方法 调用方法。但是可以使用object关键字,代替class关键字

<pre><code>
object LogUtil {

val doLog = BuildConfig.DEBUG
private val APP = "Log"
fun d(TAG: String, log: String) {
    if (!doLog) {
        return
    }
    Log.d(APP, "[$TAG]:$log")
}

}
</code></pre>
调用的时候直接LogUtil.d("TAG","log")即可

3.三目运算

kotlin中没有三目运算符不能像Java如下写法
<pre><code>
int a = 1;

boolean b = a == 1 ? true : false;
</code></pre>
Kotlin中用 if else 替代三目预运算:
<pre><code>
fun max(a: Int,b :Int) : Int = if (a > b) a else b

println(fun(1,2))
</code>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,294评论 9 118
  • Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿An...
    蓝灰_q阅读 77,007评论 31 489
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,666评论 25 708
  • 目标 * 安装,生成安装目录 * 用Framework新建、编译、运行、发布cocos2d-x工程 准备工作 如何...
    椒盐老蛏阅读 2,753评论 0 4
  • 作者莲花郎面。这本书属于偶然翻到,然后一发不可收拾地死命狂追,陆陆续续等了几个月作者更新。 设定出彩,宗教背景,王...
    dd6068917588阅读 4,343评论 0 0