Tag: 懒惰评估

编写一个在初始化程序中提供自引用的Kotlin util函数

我试图从另一个问题的答案概括我的黑客。 它应该提供一种方法来引用一个尚未在其构造器中构造的值(当然,不是直接的,而是在lambda表达式和对象表达式中)。 我现在所拥有的: class SelfReference<T>(val initializer: SelfReference<T>.() -> T) { val self: T by lazy { inner ?: throw IllegalStateException("Do not use `self` until initialized.") } private val inner = initializer() } fun <T> selfReference(initializer: SelfReference<T>.() -> T): T { return SelfReference(initializer).self } 它的作品,看到这个例子: class Holder(var x: Int = 0, val action: () -> Unit) […]

Kotlin由线程局部的懒惰代表财产

有没有一种简单的方法by lazy像ThreadLocal这样每个线程计算出by lazy值来获得委托属性? LazyThreadSafetyMode控制并发初始化, .NONE通过允许多个线程接收不同的值而接近所需的功能,但后续的后期初始化调用引用相同的对象,不管线程返回相同的奇异值,有些情况返回null 。 无论并发初始化还是后期初始化,该属性都会为每个线程缓存一个唯一的值。

Android Kotlin – 来自对象列表的ListView适配器

我是新来的Android,并没有完全得到它的概念呢。 我正在尝试从https://www.raywenderlich.com/category/android (一个非常简单的提醒应用程序 – 它显示一个字符串列表作为提醒)的教程进行更改。 MainActivity的代码是: package com.example.reminderapp import android.app.Activity import android.app.AlertDialog import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.res.Configuration import java.text.SimpleDateFormat import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.View import android.widget.AdapterView import android.widget.ArrayAdapter import kotlinx.android.synthetic.main.activity_main.* import java.util.* class MainActivity : AppCompatActivity() { private val taskList: MutableList<Task> = mutableListOf() private val taskListDesciptors: MutableList<String> […]