我想知道是否有一个有效的方法分隔不同的字符串逗号作为分隔符 ? 在Java8有StringUtils.join(java.lang.Iterable,char) 。 对于Kotlin我只发现了joinToString ,它从数组/列表转换为字符串。 据我所知, joinToString转换整个列表/数组。 如果我想从数组转换为逗号分隔的字符串不是所有的数字? 怎么会这样呢? Kotlin有没有短暂而优雅的东西(显然,我可以为此做出自己的function,但是我只是想知道)。 list.forEachIndexed { index, item -> if (item.isGreen) { … } }
以下generics不能编译。 这里的语义错误是什么? 函数调用 start(MainActivity.javaClass) // <== Doesn't compile 方法定义 // Definition public fun start(activityClass: Class) { startActivity(Intent(this, activityClass)) } 编译器错误 Error:(43, 9) Type parameter bound for T in fun start(activityClass: java.lang.Class): kotlin.Unit is not satisfied: inferred type com.mobsandgeeks.hellokotlin.MainActivity. is not a subtype of android.app.Activity
我正在学习Kotlin,在我的项目中,我有如下的东西 Utils.kt: var weightInKilos = 100.0 //should multiply the above var fun doSomething(multiplier: Double, weightInKilos: Double) { weightInKilos = weightInKilos * multiplier } print(doSomething(4.2, weightInKilos)) 这将是整个文件(它不是一个对象的一部分),所以我不能使用这个关键字。 我知道我可以重命名其中的一个,但有什么样的标识符我可以用来区分两个增值税,所以代码打印420?
0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 为什么会这样呢?
这些是我的项目AIDL-Client , AIDL-Server的链接 。 脚步: 请安装两个。 然后点击“BIND设备按钮” “ IBindDeviceCallback:deviceName:tpd deviceBrand:loop ”打印在客户端项目中 在AIDL-Server项目中将“AIDLService.java”更改为“AIDLService.kt”,然后安装apk。 然后点击AIDL-server项目的“BIND Device button” 你会发现崩溃。 java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter deviceCertifcate at android.os.Parcel.readException(Parcel.java:1697) at android.os.Parcel.readException(Parcel.java:1646) at com.loop.ILoopService$Stub$Proxy.bindDevice(ILoopService.java:88) at com.client.MainActivity$mServiceConnection$1.onServiceConnected(MainActivity.kt:53) at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1516) at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1544) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 它看起来像android […]
Kotlin2Js生成两个文件:kotlin.js具有所有必要的function和从kotlin翻译的脚本,例如“script.js”我想使用@JsModule注释将kotlin.js文件导入到“script.js”以免将它们分开连接。 @JsModule(“kotlin”) external object kotlin 怎么做? 这个例子没有给出任何结果
我想获得与cpp相同的行为: enum dxgi_format_gli { DXGI_FORMAT_R64_UINT_GLI = 1, DXGI_FORMAT_R64_SINT_GLI } DXGI_FORMAT_R64_UINT_GLI得到1,下一个得到2 我得到的最接近的是: private var counter: Int = 2; enum class dxgi_format_gli(i: Int = counter++) { DXGI_FORMAT_R64_UINT_GLI(1), DXGI_FORMAT_R64_SINT_GLI() } 不过,我希望它是动态的,也就是说每当我用一个参数调用构造函数,保存一个在counter和所有下面的构造函数增量和得到它.. 我已经在java中做了: public enum Dxgi_format_gli { DXGI_FORMAT_R64_UINT_GLI(1), DXGI_FORMAT_R64_SINT_GLI; public final int value; private static class Counter { private static short value = 0; } private Dxgi_format_gli() { value […]
阅读同样的文章后,我仍然不能解决generics的问题: 我有BaseActivity: abstract class BaseActivity : MvpAppCompatActivity(), BaseView { abstract fun getPresenter():BasePresenter } BaseView界面 interface BaseView : MvpView 并确保BasePresenter open class BasePresenter : MvpPresenter() 然后我创建BaseConnectionView interface BaseConnectionView : BaseView 和BaseConnectionPresenter class BaseConnectionPresenter : BasePresenter() 所以当我创建BaseConnectionActivity abstract class BaseConnectionActivity : BaseActivity(),BaseConnectionView { override abstract fun getPresenter(): BaseConnectionPresenter } 我有错误: Return type is BaseConnectionPresenter, which is not […]
我试图通过Kotlin的意图将活动A的数据传递给活动B. 问题是我有一个videos: MutableList和intent.putParcelableArrayListExtra(“VIDEOS”, videos)只接受ArrayList作为参数。 问题 *。 我如何从活动A发送一个mutableList数据到活动B ? *。 或者我必须将其转换为ArrayList ? PS: Video实现Parcelable
我有这样的Java类: public class SomeClass { public SomeClass(T a, T b) {} } class A extends ClassA implements InterfaceA{} class B extends ClassA implements InterfaceA{} 我试图在下面的kotlin中创建SomeClass的一个实例,但我得到一个编译错误: “感染typesAny!不是ClassA的子types” 但我知道如何解决它。 下面的A和B扩展了ClassA并实现了InterfaceA 。 val someClass = SomeClass(A(), B()) 有人可以帮忙吗?