草庐IT

Kotlin-script

全部标签

android - Kotlin 错误 : Dagger does not support injection into private fields

我在kotlinActivityViewPager中使用,我希望在KotlinFragment中使用Dagger注入(inject)。我有错误:Dagger不支持注入(inject)私有(private)字段。在JavaFragment中,Dagger注入(inject)工作。为什么我不能在kotlinfaragment中注入(inject)dagger?在我的kotlinActivity中mPagerAdapter=object:FragmentPagerAdapter(supportFragmentManager){privatevalmFragments=arrayOf(Kotl

operators - 箭头 ("->") 运算符在 Kotlin 中的作用是什么?

可能是一个有点宽泛的问题,但官方文档甚至没有提到箭头运算符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体。最明显的用途是when条件语句,它用于将表达式分配给特定条件:valgreet=when(args[0]){"Appul"->"howdy!""Orang"->"wazzup?""Banan"->"bonjur!"else->"hi!"}println(args[0]+"greetsyou:\""+greet+"\"")其他用途是什么,它们有什么作用?Kotlin中箭头操作符有一般含义吗? 最佳答案 ->是Kotlin

operators - 箭头 ("->") 运算符在 Kotlin 中的作用是什么?

可能是一个有点宽泛的问题,但官方文档甚至没有提到箭头运算符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体。最明显的用途是when条件语句,它用于将表达式分配给特定条件:valgreet=when(args[0]){"Appul"->"howdy!""Orang"->"wazzup?""Banan"->"bonjur!"else->"hi!"}println(args[0]+"greetsyou:\""+greet+"\"")其他用途是什么,它们有什么作用?Kotlin中箭头操作符有一般含义吗? 最佳答案 ->是Kotlin

kotlin - 做任何==对象

kotlin中的如下代码:Any().javaClass具有java.lang.Object的值。这是否意味着Any和Object是同一个类?他们是什么关系? 最佳答案 没有。来自Kotlindocs(强调我的)AllclassesinKotlinhaveacommonsuperclassAny,thatisadefaultsuperforaclasswithnosupertypesdeclared:classExample//ImplicitlyinheritsfromAnyAnyisnotjava.lang.Object;inp

kotlin - 做任何==对象

kotlin中的如下代码:Any().javaClass具有java.lang.Object的值。这是否意味着Any和Object是同一个类?他们是什么关系? 最佳答案 没有。来自Kotlindocs(强调我的)AllclassesinKotlinhaveacommonsuperclassAny,thatisadefaultsuperforaclasswithnosupertypesdeclared:classExample//ImplicitlyinheritsfromAnyAnyisnotjava.lang.Object;inp

kotlin - 从 Kotlin 中的密封类扩展数据类

我有一组共享一些公共(public)字段的数据类,所以理想情况下,我想在父类(superclass)型中声明它们(本例中为Message),并且能够编写在需要访问时对父类(superclass)型进行操作的函数到这些公共(public)字段(本例中为messageId)。funoperate(m:Message){use(m.messageId)}我试图通过从一个密封类扩展我的数据类来实现这一点。数据类可以扩展密封类,但我不确定它们如何/是否可以接受“父类(superclass)型”密封类所需的参数。从一个密封的类中扩展一个普通的类编译就好了。sealedclassMessage(va

kotlin - 从 Kotlin 中的密封类扩展数据类

我有一组共享一些公共(public)字段的数据类,所以理想情况下,我想在父类(superclass)型中声明它们(本例中为Message),并且能够编写在需要访问时对父类(superclass)型进行操作的函数到这些公共(public)字段(本例中为messageId)。funoperate(m:Message){use(m.messageId)}我试图通过从一个密封类扩展我的数据类来实现这一点。数据类可以扩展密封类,但我不确定它们如何/是否可以接受“父类(superclass)型”密封类所需的参数。从一个密封的类中扩展一个普通的类编译就好了。sealedclassMessage(va

kotlin - 从 lambdas 或 Kotlin : 'return' is not allowed here 返回

我正在尝试编写函数,它会告诉我字符串很好,很好意味着字符串中至少有一个重复的字母。但是我不能从lambda返回,它总是返回false,尽管if语句中的条件通过了。谁能解释一下如何返回?我试图写return,但IDEA给了我消息Kotlin:'return'isnotallowedherefunmain(args:Array){println("sddfsdf".isNice())}funString.isNice():Boolean{valhasRepeat={for(iin0..(length-2)){if(subSequence(i,i+2).toSet().size==1){tr

kotlin - 从 lambdas 或 Kotlin : 'return' is not allowed here 返回

我正在尝试编写函数,它会告诉我字符串很好,很好意味着字符串中至少有一个重复的字母。但是我不能从lambda返回,它总是返回false,尽管if语句中的条件通过了。谁能解释一下如何返回?我试图写return,但IDEA给了我消息Kotlin:'return'isnotallowedherefunmain(args:Array){println("sddfsdf".isNice())}funString.isNice():Boolean{valhasRepeat={for(iin0..(length-2)){if(subSequence(i,i+2).toSet().size==1){tr

hashmap - 在 kotlin 中转换 map 的惯用方式?

在Scala中,它只是map函数。例如,如果hashMap是字符串的hashMap,那么您可以执行以下操作:valresult:HashMap[String,String]=hashMap.map(case(k,v)=>(k->v.toUpperCase))然而,在Kotlin中,map将map转换为列表。在Kotlin中是否有惯用的方式来做同样的事情? 最佳答案 我不认为一个人的意见算惯用的,但我可能会使用//transformkeysonly(usesamevalues)hashMap.mapKeys{it.key.upperc