草庐IT

kotlin-compiler-embeddable

全部标签

java - 如何在 Kotlin 中使用 Double Epsilon/Precision 调用 assertEquals?

我想知道,在Kotlin中,是否有可能调用等效的java方法:assertEquals(doubleexpected,doubleactual,doubleprecision)因为每次我都使用这种方法assertEquals(expected:T,actual:T,message:String)而且我找不到具有精度参数的那个。我想调用Java也应该没问题。我对方法的调用:assertEquals(5000.00,calculateCouponAmount(basicFaceValue,basicInterestRate,amortizationBullet,couponNumber1)

安卓报警管理器 : is there a way to cancell ALL the alarms set?

我正在构建一个应用程序,它为一周中的每一天(在特定的时间和分钟)设置2个闹钟,闹钟会一周又一周地重复。现在的重点是:如果用户更改了闹钟,我需要取消之前设置的闹钟。有没有办法简单地取消我的应用程序设置的所有警报? 最佳答案 如果您要取消以前的警报,那么在PendingIntent中,您的标志应该是PendingIntent.FLAG_CANCEL_CURRENT。如果已经创建,它将阻止生成新的PendingIntent。并确保在设置闹钟之前,只需取消相同的PendingIntent,然后再设置闹钟。你应该这样尝试:AlarmManag

android - Kapt,Kotlin,Dagger2 注释处理时出错

在使用kotlin的项目中添加com.google.dagger:dagger-android-support依赖项后,我遇到了这个gradle错误。这是我构建gradle的一部分build.gradleapplyplugin:'com.android.application'applyplugin:'kotlin-android'applyplugin:'realm-android'applyplugin:'me.tatarka.retrolambda'applyplugin:'kotlin-kapt'android{...kapt{generateStubs=true}}depen

android - Kapt,Kotlin,Dagger2 注释处理时出错

在使用kotlin的项目中添加com.google.dagger:dagger-android-support依赖项后,我遇到了这个gradle错误。这是我构建gradle的一部分build.gradleapplyplugin:'com.android.application'applyplugin:'kotlin-android'applyplugin:'realm-android'applyplugin:'me.tatarka.retrolambda'applyplugin:'kotlin-kapt'android{...kapt{generateStubs=true}}depen

java - Kotlin Back-Tick 在方法名称中转义 : How does it work?

在Kotlin中,可以使用这样的反引号来命名方法:fun`iamatestmethod`(){Assert.assertEquals("x","x")}编译器生成一个带有下划线而不是空格的方法:“i_am_a_test_method”,这似乎是合理的,因为JVM不允许带有空格的方法afaik。Junit和/或Gradle如何用反引号的名称报告这些测试? 最佳答案 在Javamethoddescriptor中,有几个字符有特殊含义,即[()/和;.空格没有特殊含义,可以直接用在方法名中;这正是编译器所做的。空格不会转换为下划线。

java - Kotlin Back-Tick 在方法名称中转义 : How does it work?

在Kotlin中,可以使用这样的反引号来命名方法:fun`iamatestmethod`(){Assert.assertEquals("x","x")}编译器生成一个带有下划线而不是空格的方法:“i_am_a_test_method”,这似乎是合理的,因为JVM不允许带有空格的方法afaik。Junit和/或Gradle如何用反引号的名称报告这些测试? 最佳答案 在Javamethoddescriptor中,有几个字符有特殊含义,即[()/和;.空格没有特殊含义,可以直接用在方法名中;这正是编译器所做的。空格不会转换为下划线。

android - kotlin setter 无限递归

我正在Android上测试kotlin,遇到了一个问题,即两个变量的setter在无限递归中被调用,因为它们在最初设置时试图相互更改。这是一个示例代码classExample{vara:Int=0set(value){b=a+10}varb:Int=0set(value){a=b-10}}然后说我使用以下代码:valexample=Example()example.a=10它最终导致无限递归并最终导致堆栈溢出。b的二传手调用a的setter进而调用b的setter再次。它会永远持续下去。我希望能够更新b的值每当a已设置,但也会更新a的值每当b已设置。Kotlin专家有什么想法吗?在这种

android - kotlin setter 无限递归

我正在Android上测试kotlin,遇到了一个问题,即两个变量的setter在无限递归中被调用,因为它们在最初设置时试图相互更改。这是一个示例代码classExample{vara:Int=0set(value){b=a+10}varb:Int=0set(value){a=b-10}}然后说我使用以下代码:valexample=Example()example.a=10它最终导致无限递归并最终导致堆栈溢出。b的二传手调用a的setter进而调用b的setter再次。它会永远持续下去。我希望能够更新b的值每当a已设置,但也会更新a的值每当b已设置。Kotlin专家有什么想法吗?在这种

java - 使用 Java 中的静态方法作为 Kotlin 中的扩展方法

我有一个用Java声明的静态方法:classX{publicstaticvoidfoo(Yy){…}}我很想将此方法用作Kotlin中Y类型实例的扩展方法:importX.foo…y.foo()这可能吗?我可以控制所有有问题的源代码,例如添加注释。 最佳答案 我不知道自动引用这些的方法,但是编写自己的扩展来包装现有方法应该是可能的......funY.foo()=X.foo(this) 关于java-使用Java中的静态方法作为Kotlin中的扩展方法,我们在StackOverflow上

java - 使用 Java 中的静态方法作为 Kotlin 中的扩展方法

我有一个用Java声明的静态方法:classX{publicstaticvoidfoo(Yy){…}}我很想将此方法用作Kotlin中Y类型实例的扩展方法:importX.foo…y.foo()这可能吗?我可以控制所有有问题的源代码,例如添加注释。 最佳答案 我不知道自动引用这些的方法,但是编写自己的扩展来包装现有方法应该是可能的......funY.foo()=X.foo(this) 关于java-使用Java中的静态方法作为Kotlin中的扩展方法,我们在StackOverflow上