ArrayAdapter.clear kotlin

我正在努力学习kotlin,我想将我的一个Android项目从java转换为kotlin。 但是我有一个问题 override fun onResponse(call: Call<List<CitySearch>>?, response: Response<List<CitySearch>>?) { if(response != null && response.isSuccessful) { val list = response.body() cityAdapter.clear() if(list != null && !list.isEmpty()){ cityAdapter.addAll(list) listView.visibility = View.VISIBLE recyclerView.visibility = View.GONE cityName.visibility = View.GONE } } } 我得到的错误操作不支持只读集合在与cityAdapter.clear()行kotlin.collections.EmptyList.clear()我不知道如何解决它。 对于所有的项目,请检查 WeatherFragment有问题的历史版本 当前版本

为什么我的Kotlin编译失败使用Kotlin-Maven-Plugin?

在尝试编译Java / Kotlin混合项目时,我收到以下错误: [ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.1.3-2:compile (compile) on project tablesaw-core: Compilation failure [ERROR] java.lang.ArrayIndexOutOfBoundsException: 32 [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.readUTF8(ClassReader.java:2529) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.readModule(ClassReader.java:777) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:646) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:507) [ERROR] at org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Companion.read(JavaModuleInfo.kt:51) [ERROR] at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder.computeAllSystemModules$kotlin_compiler(CliJavaModuleFinder.kt:28) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.computeRootModules(KotlinCoreEnvironment.kt:298) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.addModularRoots(KotlinCoreEnvironment.kt:277) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.convertClasspathRoots(KotlinCoreEnvironment.kt:269) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:197) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:109) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:423) [ERROR] […]

从Kotlin访问Integer.class

我有一个接受Class参数的Java方法。 我需要将Integer.class传递给它,但是从Kotlin代码。 我试过Int::class.java ,但是这不起作用,因为int.class被传递给函数。 我的问题是,如何从Kotlin访问Integer.class 。 Java的 void foo(Class clazz); 科特林 foo(Int::class.java) // does not work, int.class gets passed to foo

从Java迁移到Kotlin

我有一个用Java编写的Android应用程序,但是我想把它转换成Kotlin。 我添加了Kotlin插件并配置了我的应用程序的gradle。 buildscript { ext.kotlin_version = '1.1.4-3' dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' sourceSets { main.java.srcDirs += 'src/main/kotlin' } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } 我正在转换单个文件从Java到Kotlin使用 – 代码 – >转换Java文件到KOTLIN 转换后,我得到这个错误: Process: com.stockal.app, PID: 10633 java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzac; or its super classes (declaration of 'com.google.android.gms.common.internal.zzac' […]

Kotlin代表团如何有用?

我真的很困惑kotlin代表团。 让我来描述这里的正规多态性方法,看起来像kotlin delgation。 interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } fun main(args: Array<String>) { val b : Base = BaseImpl(10) b.print() // prints 10 } 我可以将任何实现的Base接口类传递给b变量来调用指定类的对象的方法。 那么kotlin代表团的好处是什么呢? 这在这里描述。 interface Base { fun print() } class BaseImpl(val x: Int) : Base { override […]

BigInteger在Kotlin

我需要使用BigInteger,但在kotlin中找不到类似的东西。 在java的BigInteger的kotlin中有没有其他类? 要么 我应该将java类导入kotlin吗?

在Kotlin的建造者样式

我是kotlin世界的新手。 我有一个用Java编写的现有的构建器,并且想在我将这个项目迁移到Android中的kotlin时将其转换为Kotlin。 但是,Android Studio内置的工具似乎有一些错误,然后转换的代码是不可编译的。 这是显示无法访问我的UserBuilder类中的变量。 这是来自教程的Java代码 public class Person { private final String firstName; // required private final String lastName; // required private final int age; // optional private final String phone; // optional private final String address; // optional private Person(UserBuilder builder) { this.firstName = builder.firstName; this.lastName = builder.lastName; this.age = builder.age; this.phone = […]

什么是Kotlin后台?

作为Java开发人员,后台字段的概念对我来说有点陌生。 鉴于: class Sample { var counter = 0 // the initializer value is written directly to the backing field set(value) { if (value >= 0) field = value } } 这个后盾有什么好处? Kotlin的文档说: Kotlin中的类不能有字段。 但是,使用自定义访问器时有时需要有后台字段 。 为什么? 在setter中使用属性名称本身的区别是什么,例如。 class Sample { var counter = 0 set(value) { if (value >= 0) this.counter = value // […]

禁用:扫描kotlin注释

我尝试将Kotlin混合到我的春季项目中,但是它至少增加了10秒的扫描时间。 我可以禁用这种行为吗? 如果我这样做,有什么副作用? 谢谢。 以下是我添加Kotlin后的额外日志: [INFO] Scanning for projects… [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ———————————————————————— [INFO] Building webapp 0.1 [INFO] ———————————————————————— [INFO] [INFO] >>> spring-boot-maven-plugin:1.2.0.RELEASE:run (default-cli) @ webapp >>> [INFO] [INFO] — kotlin-maven-plugin:0.10.4:compile (compile) @ webapp — [info] Kotlin Compiler version 0.10.4 [info] Compiling Kotlin sources […]

静态方法在Kotlin中导入

如何在Kotlin中静态导入一个方法? 例如,在Java中可以这样做: … import static org.mockito.Mockito.verify; … class FoobarTest { … @Test public void testFoo() { verify(mock).doSomething(); } } 如何在Kotlin中完成相同的操作,而不必每次都使用Mockito.verify(mock).doSomething()完全限定该方法。