如何以简单明了的方式从列表中获得随机项目。 例如:如果我想从这个列表中得到一个偶数。 val list = listOf(1, 2, 3, 4, 5, 6, 7, 9).filter { it % 2 == 0 } 注意: 我知道在java中有一些类似的解决这个问题的答案,但我认为我们可以在kotlin中有一个更简洁的方法。
我正在使用Sortable TableView库创建具有排序function的表结构。 如何使用Kotlin语言设置ColumnComparator ? 我试过这个: tableScheduled.setColumnComparator(0,MyComparator()) 但是我得到这个错误: 错误:(44,36)Out-projectedtypes“SortableTableView !” 禁止使用’public open fun setColumnComparator(p0:Int,p1:Comparator!):在de.codecrafters.tableview.SortableTableView’
我用Kotlin和Java8时间使用Spring Boot。 不知何故,数据类字段上的jackson注释被忽略。 import com.fasterxml.jackson.annotation.JsonProperty import java.time.MonthDay data class DataView(val id: String, @get:JsonProperty(“dayOfMonth”) val monthDay: MonthDay) {} 为什么这些注释会被忽略? 响应仍然包含字段名称“monthDay”。 我知道注释是正确的,根据这个讨论kotlinlang.org 。 就我所知,我没有任何应该影响这个的配置。 pom包含: … spring-boot-starter-parent org.springframework.boot 1.5.6.RELEASE … com.fasterxml.jackson.module jackson-module-kotlin ${jackson.version} com.fasterxml.jackson.datatype jackson-datatype-hibernate5 com.fasterxml.jackson.datatype jackson-datatype-hppc com.fasterxml.jackson.datatype jackson-datatype-jsr310 com.fasterxml.jackson.datatype jackson-datatype-json-org com.fasterxml.jackson.module jackson-module-afterburner …
我在kotlin文件中定义了这个函数 fun loadSubmissions(projectId: Long?, completion: (List, Exception) -> Unit) { … } 并且想要像这样从Java调用它 loadSubmissions(project.getProjectId(), (submissions, e) -> { updateSubmissions(submissions); return null; }); 同 void updateSubmissions(List submissionList) { .. } 但它给了我 Error:(226, 35) error: incompatible types: List cannot be converted to List where CAP#1 is a fresh type-variable: CAP#1 extends Submission from capture of ? extends […]
我用Dagger 2为Android创建了简单的应用程序。它有一个共享对象和一个模块。 该模块是: @Module public class MyModule { @Provides @Singleton public Hren providesHren() { return new Hren(); } } 这个模块工作。 但是当我将它转换为Kotlin时,我得到编译时错误: > Task :app:compileDebugJavaWithJavac …../DaggerMyApplicationComponent.java:26: error: cannot find symbol DoubleCheck.provider(MyModule_ProvidesHrenFactory.create(builder.myModule)); ^ symbol: variable MyModule_ProvidesHrenFactory location: class DaggerMyApplicationComponent 1 error 转换后的这个模块: @Module class MyModule { @Provides @Singleton fun providesHren(): Hren { return Hren() } } 怎么了? […]
试图将这个项目的构建迁移到GSK。 我们在Groovy有这个: allprojects { apply plugin: ‘java’ … sourceSets { … } sourceCompatibility = … } 因此,在搞清楚如何访问Kotlin的插件约定时,我发现: allprojects { plugins { java apply true } … println(“Project $name, plugins: ${plugins}”) // empty list val java = the() // throws exception } 但如果你这样做: allprojects { apply { plugin(JavaPlugin::class.java) } } 插件被应用并且惯例变得可访问 WTH?
在Kotlin我有两个列表: val x: List = listOf(1,2,3,4,5,6) val y: List = listOf(2,3,4,5,6,7) 如何得到: val z: List = 3,5,7,9,11,13 不使用循环?
我是Kotlin的新手,并试图了解如何读取和解析.json文件。 说,我有一个文件Test.json与一些JSON数组,并需要读取数组,并将内容存储在可变列表中。 我试图搜索博客,但无法find答案。 提前致谢。
在Kotlin / JPA之前,我曾经写过这样的DAO层: public interface UserDao extends JpaRepository { Optional findBySsn(String ssn); } 而在来电方,如果我想通过SSN找人或创建用户,我可以这样写: val user = userDao.findBySsn(value).orElseGet { userDao.save(value) } 它运作良好,看起来流利。 但是,由于Kotlin引入了无效安全,所以还有另外一种惯用的方式(Java中的dao): public interface UserDao extends JpaRepository { Optional findBySsn(String ssn); @Query(“select u from User u where u.ssn = :ssn”) @Nullable User findBySsnNullable(@Param(“ssn”) String ssn) } 而在客户端: val user = userDao.findBySsnNullable(value) .takeIf{ it -> […]
我正在尝试学习Kotlin,并在kotlin中创建了一个简单的类,它在构造函数中接受两个int,并添加它们。 这些int可以为null。 I am receiving compilation error as: None of the following functions can be called with the arguments supplied: public final operator fun plus(other: Byte): Int defined in kotlin.Int public final operator fun plus(other: Double): Double defined in kotlin.Int public final operator fun plus(other: Float): Float defined in kotlin.Int public final operator fun plus(other: […]