草庐IT

kotlin-stdlib

全部标签

jpa - Kotlin JPA 封装 OneToMany

我将JPA与Kotlin一起使用,并遇到了试图封装OneToMany关系的问题。这是我可以在Java中轻松实现的,但由于Kotlin仅具有属性而在类中没有字段,因此存在一些问题。我有一个订单,一个订单有一对多的订单项。订单对象有一个LineItem的MutableList但是get方法不应该返回一个可变列表,或者调用者可能修改的任何东西,因为这会破坏封装。订单类应负责管理行项目的集合并确保满足所有业务规则/验证。这是迄今为止我想出的代码。基本上我正在使用一个后备属性,即Order类将发生变异的MutableList,然后有一个返回Iterable的transient属性,并且Colle

while-loop - Kotlin - 将 while 循环转换为函数式样式

我有以下Kotlin函数:funfunc(n:Int):Int{varcount=1varm=nwhile(m!=1){m=if(m.isOdd())3*m+1elsem/2count++}returncount}我想以“函数式”风格编写这个简单的算法,使用Kotlin的运算符,如map()、count()等。我能想到的最接近的方法是:funfunc(n:Int):Int{returnn.toList().map{if(it.isOdd())3*it+1elseit/2}.takeWhile{it!=1}.count()}显然,上面的代码不起作用,因为map只执行一次,但你明白我想要实

while-loop - Kotlin - 将 while 循环转换为函数式样式

我有以下Kotlin函数:funfunc(n:Int):Int{varcount=1varm=nwhile(m!=1){m=if(m.isOdd())3*m+1elsem/2count++}returncount}我想以“函数式”风格编写这个简单的算法,使用Kotlin的运算符,如map()、count()等。我能想到的最接近的方法是:funfunc(n:Int):Int{returnn.toList().map{if(it.isOdd())3*it+1elseit/2}.takeWhile{it!=1}.count()}显然,上面的代码不起作用,因为map只执行一次,但你明白我想要实

kotlin - @InlineOnly 注释是什么?

我oftenseethe@InlineOnly浏览Kotlin的stdlib时的注释。据我记得,注释恰好出现在inline函数上。这个注释的目的是什么?inline函数总是内联的不是很明显吗?它的文档并没有真正的帮助Specifiesthatthisfunctionshouldnotbecalleddirectlywithoutinlining内联函数可以不内联调用吗? 最佳答案 引用找到的答案here:InlineOnlymeansthattheJavamethodcorrespondingtothisKotlinfunction

kotlin - @InlineOnly 注释是什么?

我oftenseethe@InlineOnly浏览Kotlin的stdlib时的注释。据我记得,注释恰好出现在inline函数上。这个注释的目的是什么?inline函数总是内联的不是很明显吗?它的文档并没有真正的帮助Specifiesthatthisfunctionshouldnotbecalleddirectlywithoutinlining内联函数可以不内联调用吗? 最佳答案 引用找到的答案here:InlineOnlymeansthattheJavamethodcorrespondingtothisKotlinfunction

java - Kotlin 将类型函数具体化为函数扩展 - 可从 Java 调用?

我正在尝试使用具有reified类型的函数作为扩展函数,但我认为这是不可能的,因为在检查生成的字节码后,我发现方法签名是私有(private)的,任何解决方法都可以使其公开?CommonExtensions.ktinlinefunContext.startActivity(){valintent=Intent(this,T::class.java)startActivity(intent)}funView.visible(){visibility=View.VISIBLE}Kotlin字节码:privatefinalstaticstartActivity(Landroid/conten

java - Kotlin 将类型函数具体化为函数扩展 - 可从 Java 调用?

我正在尝试使用具有reified类型的函数作为扩展函数,但我认为这是不可能的,因为在检查生成的字节码后,我发现方法签名是私有(private)的,任何解决方法都可以使其公开?CommonExtensions.ktinlinefunContext.startActivity(){valintent=Intent(this,T::class.java)startActivity(intent)}funView.visible(){visibility=View.VISIBLE}Kotlin字节码:privatefinalstaticstartActivity(Landroid/conten

kotlin - 如何在 Kotlin 中制作编译时间常数 NaN 或 POSITIVE_INFINITY?

我试过了:importkotlin.Double.Companion.POSITIVE_INFINITYimportkotlin.Double.Companion.NaNconstvalinf=POSITIVE_INFINITYconstvalnan=NaN但我明白了:Const'val'initializershouldbeaconstantvalue编辑:我需要这样做的原因是Junit5'sparametrizedtests:@ParameterizedTest@ValueSource(doubles=doubleArrayOf(nan,inf,-2*epsilon,1.5,-0.

kotlin - 如何在 Kotlin 中制作编译时间常数 NaN 或 POSITIVE_INFINITY?

我试过了:importkotlin.Double.Companion.POSITIVE_INFINITYimportkotlin.Double.Companion.NaNconstvalinf=POSITIVE_INFINITYconstvalnan=NaN但我明白了:Const'val'initializershouldbeaconstantvalue编辑:我需要这样做的原因是Junit5'sparametrizedtests:@ParameterizedTest@ValueSource(doubles=doubleArrayOf(nan,inf,-2*epsilon,1.5,-0.

android - 在 kotlin 中,如何在目标需要 List 的地方传回 MutableList

拥有一个以List作为值定义的hashMap:privatevarmMap:HashMap>?=null有一个函数返回一个hashMap但具有MutableList的值fungetDataStatus(response:JSONObject?):HashMap>{returnHashMap>()}将结果传递给期望List的hashMap时出现错误:mMap=getDataStatus(resp)//出现错误:Error:(81,35)Typemismatch:inferredtypeisHashMap>butHashMap>?wasexpected 最佳答案