java 到 kotlin 記錄

2017 google IO 宣布kotlin正式成為官方支持的語(yǔ)言。最近開(kāi)始做一個(gè)新的項(xiàng)目,就在項(xiàng)目中嘗試了用kotlin來(lái)開(kāi)發(fā)。
開(kāi)發(fā)過(guò)程中遇到了一些問(wèn)題。Java和 Kotlin的寫(xiě)法有很大的區(qū)別,所以整理了一下做個(gè)記錄。

1.單例

單例是我們?cè)陂_(kāi)發(fā)中經(jīng)常會(huì)寫(xiě)到的。

Java的寫(xiě)法:
<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的寫(xiě)法:
<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.靜態(tài)方法

kotlin中沒(méi)有static 關(guān)鍵字,不能像Java一樣直接類(lèi)名.方法 調(diào)用方法。但是可以使用object關(guān)鍵字,代替class關(guān)鍵字

<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>
調(diào)用的時(shí)候直接LogUtil.d("TAG","log")即可

3.三目運(yùn)算

kotlin中沒(méi)有三目運(yùn)算符不能像Java如下寫(xiě)法
<pre><code>
int a = 1;

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來(lái) Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類(lèi)型編程...
    任半生囂狂閱讀 26,689評(píng)論 9 118
  • Google在今年的IO大會(huì)上宣布,將Android開(kāi)發(fā)的官方語(yǔ)言更換為Kotlin,作為跟著Google玩兒An...
    藍(lán)灰_q閱讀 77,193評(píng)論 31 489
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,021評(píng)論 25 709
  • 目標(biāo) * 安裝,生成安裝目錄 * 用Framework新建、編譯、運(yùn)行、發(fā)布cocos2d-x工程 準(zhǔn)備工作 如何...
    椒鹽老蟶閱讀 2,808評(píng)論 0 4
  • 作者蓮花郎面。這本書(shū)屬于偶然翻到,然后一發(fā)不可收拾地死命狂追,陸陸續(xù)續(xù)等了幾個(gè)月作者更新。 設(shè)定出彩,宗教背景,王...
    dd6068917588閱讀 4,484評(píng)論 0 0

友情鏈接更多精彩內(nèi)容