Tag: 科特林

如何解决我的代码,以消除铸造警告?

我有一些类似这样的代码: private val elements: ArrayList = ArrayList() … override fun curElements(): Collection { … return elements as Collection // squigly underline here, unchecked cast warning } 元素中的所有ISomeElement对象都是实现ISomeElement GenericElement对象 我怎样才能解决我的代码,以消除这个警告? 代码工作正常,这只是我问的警告 我无法改变乐趣的返回types

我如何使这不重复相同的事情

我需要这个打印每个航class的一些“#”,但重复它,我不能修复它。 这是目前的产出: TP23 ############################## TP23 ######### TP1971 ############ VN453 ##### TP23 ############################## TP23 ######### TP1971 ############ TP23 ############################## TP23 ######### VN453 ##### TP1971 ############ 这是预期的输出: TP23 ############################## TP23 ######### TP1971 ############ VN453 ##### fun mapReservas(reservas: List): Map<Pair, List> { val map = mutableMapOf<Pair, MutableList>() for (reserva in reservas) { val key = reserva.numVoo to reserva.day […]

java.lang.NoClassDefFoundError $$ intern $ forEach $ lambda $ 1在Kotlin中

我目前正在使用Kotlin 1.1.1版本开发Android应用程序 在我的代码中,我为了读取几个MutableList和MutableMap而MutableMap了几个forEach结构。 不幸的是,我的应用程序崩溃与以下stacktrace: java.lang.NoClassDefFoundError:com.package.fragment.ReminderAddFragment $ onRetrieveBusinessObjects $$内联$ forEach $ lambda $ 1 com.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects(ReminderAddFragment.kt:275)在com.smartnsoft.droid4me.app.Droid4mizer .onRetrieveBusinessObjects(Droid4mizer.java:552)at com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal(Droid4mizer.java:606)at com.smartnsoft.droid4me.app.Droid4mizer.access $ 000(Droid4mizer.java:46)at com .smartnsoft.droid4me.app.Droid4mizer $ 1.run(Droid4mizer.java:197)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:423)at java.util.concurrent.FutureTask.run(FutureTask。 java:237)在java.util。线程。的.java:818) 这里的代码 tutorialCategories.forEach { (_, _, _, _, _, tutorials) -> tutorials.forEach { tutorial -> if (tutorial.id == simpleReminderFromExtra.tutorialId) { //… val mapOfreminders = mutableMapOf<Int, MutableList>() val reminders […]

什么是关键字在kotlin

我无法理解,我无法在kotlin中findout关键字的含义。 你可以在这里查看例子: List 如果有人能解释这个的意思。 这将是非常感激的。

在Kotlin重复字符串n次

我想创建一个包含n个符号的string n次。 我只看到这种方式: val s = “” val n = 100 for (j in 0 until n) { s += “*” } 但它看起来很丑,它有一个O(n ^ 2)的时间复杂性。 Kotlin有没有办法在没有更好时间复杂性的情况下做到这一点?

如何将vararg传递给Kotlin中的varag函数或构造函数?

Kotlin不允许我的子类将vararg传递给我的超类构造器这里是我的操作类: package br.com.xp.operation import java.util.ArrayList abstract class Operation(vararg values: Value) : Value { protected var values: MutableList = ArrayList() internal abstract val operator: String } 这里是我的SubtractionOperation类: package br.com.xp.operation class SubtractionOperation private constructor(vararg values: Value) : Operation(values) { override val operator: String get() = “-” } 编译说: types不匹配必需的值find数组 任何人都可以解释为什么这是不可能的?

Kotlin:暴露API中的不可变列表

我是Kotlin的新手,并且正在解决返回不可变内部可变列表版本的问题。 我回顾了下面的’ Kotlin:通过转换修改(不可变的)列表,是否合法? ‘并理解不可变列表实际上只是只读的视图,不公开修改方法。 我想要一个暴露“不可变”列表的类,并且仍然想要利用Kotlins自动获取器(不必提供获取列表或列表成员的所有样板) 下面是一个坏主意(或者它会导致在将来的版本中可能被阻止的问题) class Foo { val names: List = LinkedList; fun addName(name: String) { (names as LinkedList).add(name) } } 我正在寻找允许(例如): val foo = Foo; println(foo.names.size) 但仍然阻止调用者修改类的内部(至少尽可能)。 例如删除元素或清除后备列表。

智能播放和内部比较当“是”后的表情types检查

根据When Expression的文档,它可以代替“if-else if”,所以我试着实现一个函数来返回Anytypes的两个variables的最大值: fun maxOf(a: Any, b: Any) = when { a is Int && b is Int -> if (a if (a if (a if (a if (a null } 上面的实现工作,但我认为它可以更简洁: fun maxOf(a: Any, b: Any) = when { (a is Int || a is Double) && (b is Int || b is Double) […]

什么是在Kotlin复制地图最聪明的方法?

我想获得一个具有相同内容的Map的新实例,但Map没有内置的copy方法。 我可以做这样的事情: val newInst = someMap.map { it.toPair() }.toMap() 但它看起来相当丑陋。 有没有更聪明的方法来做到这一点?

比较字符串Kotlin

我正在学习kotlin,但是我很失望,我无法比较两个字符串。 什么是正确的比较方式。 btn_login.setOnClickListener { val login = input_email.text.trim() val pass = input_password.text.trim() if( login.equals( pass ) ){ startActivity() } if (login?.equals(other = pass)){ startActivity() } if (login == pass){ startActivity() } }