Tag:

Kotlin – 类型不匹配:必需:字符串,找到:() – >字符串

在Kotlin中,我声明了一个像这样的List<String> : private val items = listOf<String> { "String1", "String2", "String3" } 编译器给我这个错误: 类型不匹配。 必需:字符串 找到:() – >字符串 这是什么意思? 我该如何解决? PS对于Kotlin来说很新,所以请问我明显的问题。

原始字符串中的换行是否依赖于平台?

原始字符串中的换行是否依赖于平台? val a = "one\ntwo"; val b = """one two""" println(a == b) 换句话说,上面的println语句是否保证打印是否true ?

替代拳击字符串字段或扩展在Kotlin的所有字符串?

鉴于不能在Kotlin中继承内置类型,我正在寻找一种方法来将特殊方法功能添加到记录中特定类型的字符串字段 ,而不将这些扩展函数应用于所有字符串 (即使在该记录类型中)。 比如说,我在记录中有一些可变的字符串字段,为此我想定义特殊用途的行为。 class Customer { // … var zipcode: String var email: String // … } 对于zipcode ,假设我希望能够通过正则表达式来调用thisCustomer.zipcode.plusFour来获取邮政编码(99999-9999)的+4。 对于email ,假设我希望能够调用thisCustomer.email.domain使正则表达式得到指定电子邮件的@@ company.com部分。 我的目标是: 考虑到客户记录集的大小可能可能是数百万,所以避免将拳击zipcode的运行时间开销放入只有一个内部class Zipcode Zipcode中。 避免必须分配thisCustomer.zipcode.value = "99999-9999"或thisCustomer.zipcode = Zipcode("99999-9999")的语法,如果我最终不得不装箱的话。 避免添加一般的String.plusFour和String.domain扩展属性,即使在Customer类中也是如此……因为邮政编码和电子邮件在技术上可以互相呼叫对方的扩展 我一直在考虑这个问题,并考虑了下面的选项, 子类化字符串: 由于字符串(和所有内置函数)被关闭,所以不可能 将一个接口Zip应用到var声明( var zipcode: String, Zip ): 没有这样的语法,我可以找到 在getter本身中添加内部函数: 语法似乎不存在 使用对象或功能内功能: 想不到一个方法,这个工作,虽然我可能不足够的想象力 我错过了一个明显的解决办法吗? 即使不是很明显,用Kotlin的所有语法魔法,有没有办法让它发生? 也许有一种方法可以完成上述某些/所有的目标而不使用任何这些方法?

颠倒Kotlin中字符串的单词顺序

嗨,大家好,我正在寻找方式来扭转Kotlin中字符串的顺序。 例如,输入字符串将是: 怎么了,Pal! 输出字符串将是: 朋友! 起来,是什么 我知道我需要使用反转模块,但我不知道如何…

Kotlin将String转换为String.Companion

所以我是新来的学习Kotlin,来自C#背景。 我一直在搞类型和其他一些事情。 我试图创建一个“WalMartGreeters”的静态类,可以添加到列表的欢迎,然后调用一个简单的静态函数来显示这些。 我的方法(s)需要一个字符串参数/字符串列表添加到可变的字符串列表,但是当我试图给它添加值。 我得到一个预编译错误,说“预期的String.Companion”“得到字符串”我试图改变它投下的字符串作为String.Companion,然后说,演员是非法的。 我得到的主要错误是:异常在线程“主”java.lang.ClassCastException:java.lang.String不能转换为kotlin.jvm.internal.StringCompanionObject fun main(args:Array<String>) { walMartGreeter.addTo("Jean") walMartGreeter.addTo("Dale") walMartGreeter.addTo("Phil") walMartGreeter.addTo("Chris") walMartGreeter.listTheWholeFam() } class walMartGreeter(val strName:String) { companion object classList { var prntList = mutableListOf(String) fun addTo(strNameToAdd:String) { prntList.add(strNameToAdd) } fun addTo(listOfNames:List<String>) { for (item in listOfNames) { prntList.add(item) } } fun listTheWholeFam() { //println("All I do is $strName") for(item in prntList) { […]

格式Kotlin字符串多次出现

我有一个字符串模板看起来像这样: val template = "Something %s something else %s. The first was %1$s, the second was %2$s" 与Java一起工作良好。 如何与Kotlin一起使用这个反复出现的字符串值? 看起来像%1$s是不可能的。 编译器警告: unresolved reference: s

Kotlin中的双数字符串插值

如何使用字符串插值在Kotlin的时间段之后有2个数字的double? 例如 val d = 3.54213 println("d = $d") 将得到d = 3.54213 。 我想得到d = 3.54 。 谢谢。

Kotlin – 如何正确连接字符串

一个非常基本的问题,在Kotlin中连接字符串的正确方法是什么? 在Java中,您可以使用concat()方法,例如 String a = "Hello "; String b = a.concat("World"); // b = Hello World 尽管如此, concat()函数不适用于Kotlin。 我应该使用+号吗?