editText获取文本kotlin

如何在kotlin中获取editText并用吐司显示。 var editTextHello = findViewById(R.id.editTextHello) 我试过这个,但显示对象 Toast.makeText(this,editTextHello.toString(),Toast.LENGTH_SHORT).show()

Kotlin和parallelStream来阵列

我觉得我越来越偏向了。 我正在尝试利用Java parallelStream出于性能原因。 函数Specimen.pick()采样并返回一个Specimen的实例。 我想用parallelStream在更换池时将其并行化。 var pool: Array<Specimen> = Array(100_000) .. 这就是我在Kotlin写的: pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.toArray(Specimen::new) 哪些错误出来::新 相反,我必须在列表和数组之间来回拼凑: pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.collect(Collectors.toList()).toTypedArray() 哪些工作,但似乎资源浪费,而不是直接进入阵列。 如果我让IntelliJ尝试Kotlinize这个Java的例子: Java的: Person[] men = people.stream() .filter(p -> p.getGender() == MALE) .toArray(Person[]::new); IntelliJ转换: val men = people.stream() .filter({ p -> p.getGender() === MALE }) […]

Kotlin编译器返回:未解决的引用:Spring 5.0中的springframework

我试着开始使用Kotlin和Spring 5.0一起玩,但是我遇到了Kotlin编译器没有认识到任何对Spring的引用的问题: [错误]无法执行目标org.jetbrains.kotlin:kotlin-maven-plugin:1.1.1:编译(编译)项目kotlin-mvc-project:编译失败:编译失败: [错误](文件位置):[7,12]未解决的参考:springframework 我正在使用Spring的里程碑版本Spring 5.0.0.M5和Kotlin版本1.1.1(在我的kotlin编译器和IntelliJ Kotlin插件上)。 在我的任何Kotlin文件中,IDE没有强调编译错误,但运行kotlin编译器似乎根本没有看到Spring 5.0。 有没有人有任何想法如何解决这个问题? 我在这个项目中使用Maven,我已经附上了我的POM作为参考: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>kotlin-mvc-project</groupId> <artifactId>kotlin-mvc-project</artifactId> <version>1.0-SNAPSHOT</version> <properties> <kotlin.version>1.1.1</kotlin.version> <spring.version>5.0.0.M5</spring.version> </properties> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> […]

如何将Java文件转换为Kotlin文件?

我正在通过Kotlin为Android开发者探索Kotlin。 其中一个步骤是使用Convert Java File to Kotlin File来查看Java和Kotlin文件的比较。 我很好奇这个功能是如何工作的。 该工具是从Java输入创建一个抽象语法树,然后转换到Kotlin? 还是在做更简单的事情?

与Kotlin重载的构造函数

因为我有一个User类有2个参数:名字,姓氏。 所以我的kotlin类是: data class User(val first_name:String, val last_name:String) 现在我想要一个只接受first_name的构造函数,或者你可以只说一个参数。 我怎样才能用Kotlin来定义它? 我知道我们可以通过默认值,这样我们可以忽略第二个参数,但是我们怎样才能写出多个构造函数呢?

Android Room Persistences库和Kotlin

我正在尝试使用Kotlin和Room Persistance Library编写一个简单的应用程序。 我遵循Android Persistance codelab中的教程 。 这是我在Kotlin的AppDatabase类: @Database(entities = arrayOf(User::class), version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userModel(): UserDao companion object { private var INSTANCE: AppDatabase? = null @JvmStatic fun getInMemoryDatabase(context: Context): AppDatabase { if (INSTANCE == null) { INSTANCE = Room.inMemoryDatabaseBuilder(context.applicationContext, AppDatabase::class.java).allowMainThreadQueries().build() } return INSTANCE!! } @JvmStatic fun destroyInstance() […]

Java Lambda到Kotlin

我正在用Kotlin构建我的代码。 我已经偶然发现了一个在Kotlin中使用Lambda的问题,具体如下: Java代码: ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(builder -> builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true)); 使用通用接口实例 ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers(new UndertowBuilderCustomizer() { @Override public void customize(Builder builder) { builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true); } }); 我在Kotlin的代码 val c: UndertowEmbeddedServletContainerFactory = (container as UndertowEmbeddedServletContainerFactory) // Calling the Lambda c.addBuilderCustomizers{ (b: Builder) -> b.setServerOption(UndertowOptions.ENABLE_HTTP2, true) } 这给我一个语法错误: 在这一行有多个标记 – 只允许将值作为可变参数传递在括号内的参数列表中 – 不能推断出这个参数的类型。 请明确指定。 什么可能是正确的语法呢?

平等在Kotlin

我正在学习Kotlin,拥有C ++和Java背景。 我期待以下打印true ,而不是false 。 我知道==映射到equals 。 equals的默认实现是否不比较每个成员,即firstName和lastName ? 如果是这样,它不会看到字符串值相等(因为==地图再次equal )? 显然有一些与平等与身份相关的东西,我还没有在科特林的权利。 class MyPerson(val firstName: String, val lastName: String) fun main(args: Array<String>) { println(MyPerson("Charlie", "Parker") == MyPerson("Charlie", "Parker")) }

单身系列在Kotlin

我想知道是否有可能在Kotlin反序列化(恢复属性值)的声明对象, 而不必手动分配属性或采取反思 。 以下片段进一步解释: object Foo: Serializable { var propOne: String = "" // … fun persist() { serialize(this) // no problem with serialization } fun restore(bytes: ByteArray) { val fooObj: Foo = deserialize(bytes) as Foo // It seems Kotlin allows us to use singleton as type! // obvioulsly either of the following is wrong: […]

将Scala函数转换为Kotlin函数

我对于Scala Kotlin都很陌生,并且试图将一些Scala代码转换成Kotlin,只是为了让我的头脑对事物有所了解。 我遇到的一个问题就是把这个Scala函数转换成Kotlin函数。 def changeXToDigit(value:String): String = { value.map { case 'X' => random.nextInt(10).toString case letter => letter }.mkString } 我知道在Kotlin中没有mkString等价物,但是我想到了类似的东西 fun changeXToDigit(value: String):String = { value.map { it -> when(it) { 'X' -> random.nextInt(10).toString else -> it } } 可能工作,但IntelliJ抱怨,我有点失落的错误。 Error:(11, 45) Kotlin: Inferred type is a function type, but a non-function type String […]