最近看Kotlin,你可以做..或者一些自定义类而不是Int或其他类。 Kotlin通过如下扩展函数来实现: operator fun <T: Comparable> T.rangeTo(that: T): ClosedRange这意味着只要你的类实现了Comparable接口,你可以免费得到它你可以这样做: val now = LocalDate.now() val vacation = now..now.plusDays(10) 我发现这很方便。 只是想知道我们怎么能在Scala中做到这一点,我知道我们应该通过types类来实现它吗? 也许是对还是错。 任何人都可以向我展示在Scala中最简单的方法吗? 看起来好像没有内置的LocalDate
如果我有以下,它的作品(即数字分配1000) fun main(args: Array) { var number: Long ? = null // or number = 0 val simpleObject = SimpleClass() number = 1000 println(“Hi + $number”) } 如果我有以下,它的作品(即数字分配1000) import java.util.* fun main(args: Array) { var number: Long = 0 val simpleObject = SimpleClass() number = simpleObject.getValue() println(“Hi + $number”) } class SimpleClass() { fun getValue(): […]
我正在使用Kotlin和RxJava2。 它在其他types,即Observable等工作正常,但是当我使用一个Completabletypes时,它给了我一个types推理的错误: type inference failed: Not enough information to infer parameter T in fun bindToLifecycle(): LifecycleTransformer Please specify it explicitly 这是我正在使用的代码: viewModel .updateText(returnedText) // the completable method .compose(activity.bindToLifecycle())
我是新来写kotlin。 我遇到一个错误,我不知道如何解决它。 这是代码的一部分: for (j in 0..m – 1) { var b0 = a[j] var tt = j var b1: Int for (i in 0..n / m – 1) { tt = (tt + k) % n b1 = a[tt] a[tt] = b0 if (b1 == 2) b0 = 2 else b0 = b1 } […]
在C#中,您可以对generics创建一个新的约束来创建一个generics参数types的新实例,在Kotlin中是否有相同的方法? 现在我的工作是这样的: fun someMethod(class : () -> T) { val newInstance = class() } 我正在像这样调用someMethod() someMethod(::MyClass) 但我想要做这样的事情: fun someMethod() { val newInstance = T() } 那可能吗?
我目前正在玩Kotlin测试框架https://github.com/kotlintest/kotlintest 。 我想知道是否有一个预期的方式来组织项目,我的意思是,像一个基础项目,我可以开始立足。
我正在尝试使用Kotlin实现Dialogflow(之前的api.ai)代理与我的Android应用程序的集成。 我检查了关于kotlin lateinit其他问答,Android中的onCreate()生命周期是晚期init实现的理想选择,以避免用空对象编写脏代码和相应的!! 和? 访问Kotlin。 但是在尝试lateinint自定义类的实例时,我lateinint了“ Property getter or setter expected ”的错误。 这里是代码: class AIApplication : Application() { private var activitiesCount: Int = 0 var lateinit settingsManager: SettingsManager //private set private val isInForeground: Boolean get() = activitiesCount > 0 override fun onCreate() { super.onCreate() settingsManager = SettingsManager(this) } 这给了我在lateinit settingsManager行的’ Property getter或setter expected ‘的lateinit settingsManager […]
我似乎无法将标准的android字体更改为我的应用程序中的另一个。 我正在Kotlin写我的应用程序,我正在使用Anko进行布局。 我试过了: typeface = Typeface.create() typeface = Typface.createFromAsset(assets, “font/font_name”) setTypeface(Typeface.createFromAsset(assets, “font/font_name”)) 谢谢您的帮助。
我试图在Kotlin中创建一个单例,并且遇到问题,因为我得到了一个smart cast to PresenterManager is impossible because instance is mutable property that could have been changed at this time 。 这似乎是一个非常标准的方式来做一个单身人士。 为什么不让我,我怎么能解决它? PresenterManager { //some code …. companion object { private val PRESENTER_ID = “presenter_id” private var instance: PresenterManager? = null fun getManager(): PresenterManager { if (instance == null) { instance = PresenterManager(10, 30, TimeUnit.SECONDS) […]
是否有可能获取.kt文件中的类的列表? 看来,KDeclarationContainer是我正在寻找的类,但我不确定如何使用它。 编辑:我正在使用Kotlinreflection。