kotlin-null-safety

    12熱度

    3回答

    在Kotlin中似乎有兩種方法在對象內部聲明一個變量,該變量可以在創建對象之後爲null並實例化。 var myObject : Any? = null 或 var lateinit myObject : Any 我感到困惑,爲什麼,如果我們可以只是做了var爲空的,後來分配給需要它的lateinit關鍵字。每種方法的優點和缺點是什麼?每種方法應該在什麼情況下使用?

    4熱度

    2回答

    什麼是最簡潔的使用方法with iff var不是null? 我能想出的最好的是: arg?.let { with(it) { }}

    0熱度

    2回答

    讓f()返回一個可爲空的值。 我想要做的是, 如果f()爲空,得到一個空列表, 否則,如果f()不爲空,獲得單項value的列表。 在Scala中,我們可以做這樣的事情: Option(f()).toList 以上冗長 Option(f()).map(v => List(v)).getOrElse(List.empty) 在科特林,沒有Option(假設沒有Funktionale庫),以及

    4熱度

    2回答

    我怎樣才能避免使用!!類的可選屬性 class PostDetailsActivity { private var post: Post? = null fun test() { if (post != null) { postDetailsTitle.text = post.title // Error I have to still force

    1熱度

    1回答

    我使用Java庫。在異常類中有「localizedMessage」字段和「描述」字段。我不知道爲什麼,但是「description」(它是java String)被識別爲String!通過Kotlin,當「description」爲null時,條件描述== null返回false。的代碼 示例: mvpView?.showToast(it.description?:it.localizedMess

    8熱度

    2回答

    下面類有一個非常獨特的生命週期,這需要我暫時空出lateinit性能 class SalesController : BaseController, SalesView { @Inject lateinit var viewBinder: SalesController.ViewBinder @Inject lateinit var renderer: SalesRendere

    1熱度

    3回答

    我有一個項目變量datePurchased,它可以爲空。根據購買日期,我生成一個標籤。當我檢查datePurchased是否爲null時,在其他分支中,我仍然需要檢查null。它說聰明的演員是不可能的,因爲它是一個可變的財產。 這裏是我試過到目前爲止: if (datePurchased == null) { "" } else { if (datePurchased.isT

    2熱度

    1回答

    當使用.let { }功能,我注意到這樣做的時候,下面的: bucket?.assignedVariantName.let { bucket?.determineVariant() <-- guarantee safety for bucket } 你必須保證安全水桶在這種情況下,即bucket?.或bucket!!而空安全 bucket?.assignedVariantName

    20熱度

    3回答

    我應該使用雙重=還是三重=? if(a === null) { //do something } 或 if(a == null) { //do something } 同樣,對於 '不等於': if(a !== null) { //do something } 或 if(a != null) { //do something }

    37熱度

    2回答

    我使用Android Studio將Java轉換爲Kotlin。在實例變量之後我得到了雙重砰砰聲。什麼是雙重轟炸,更重要的是這個記錄在哪裏? mMap!!.addMarker(MarkerOptions().position(london).title("Marker in London"))