小编And*_*ana的帖子

kotlin 中的递归类型参数

我想在 Kotlin 中写出类似的东西。

open class View<P> where P:Presenter<out _this_class_> {
    val presenter: P = ...
}

open class Presenter<V> where V: View<out _this_class_> {
    val view: V = ...
}
Run Code Online (Sandbox Code Playgroud)

我怎么能正确地做到这一点?

generics kotlin

5
推荐指数
1
解决办法
294
查看次数

jdbi3 withHandle 在 kotlin 中抛出错误

withHandle 给出错误提示“没有足够的信息来推断类型变量 X”。

但如果我使用

val count = jdbi.withHandleUnchecked { handle ->
                    handle.createQuery("SELECT count(*) FROM levelmaster WHERE `LevelName` = 'Silver' AND `LevelId` >= :ugradingLevel")
                            .bind("ugradingLevel", ugradingLevel)
                            .mapTo(Int::class.java)
                            .findOnly()
                }
Run Code Online (Sandbox Code Playgroud)

withHandleUnchecked 它不会抛出任何错误。

这是我的代码:(使用 withHandle)

handle = jdbi.open() 
val names = jdbi.withHandle { handle ->
                    handle.createQuery("SELECT count(*) FROM levelmaster WHERE `LevelName` = 'Silver' AND `LevelId` >= :ugradingLevel")
                            .bind("ugradingLevel", ugradingLevel)
                            .mapTo(Int::class.java)
                            .findOnly()
                }
Run Code Online (Sandbox Code Playgroud)

jdbi kotlin

2
推荐指数
1
解决办法
645
查看次数

协程执行时间与回调执行时间

我正在阅读“Functional Kotlin”一书,我刚刚从那本书中尝试了一些关于 Kotlin 并发编程的示例。我有以下并发代码的实现:

  1. 带回调:
package com.freesoft.functional.coroutines

import kotlin.concurrent.thread

class CallbacksMain

class CallbackUserClient(private val client: UserClient) {
    fun getUser(id: Int, callback: (User) -> Unit) {
        thread {
            callback(client.getUser(id))
        }
    }
}

class CallbackFactClient(private val client: FactClient) {
    fun get(user: User, callback: (Fact) -> Unit) {
        thread {
            callback(client.getFact(user))
        }
    }
}

class CallBackUserRepository(private val userRepository: UserRepository) {
    fun getUserById(id: UserID, callback: (User?) -> Unit) {
        thread {
            callback(userRepository.getUserById(id))
        }
    }

    fun insertUser(user: User, callback: () -> Unit) {
        thread { …
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-coroutines

1
推荐指数
1
解决办法
422
查看次数

RxJava Android 列表到使用 GroupBy 的列表列表

我有一个数据类报告

data class Report(var id: Int? = null, var user_name: String? = null)
Run Code Online (Sandbox Code Playgroud)

我有一份报告清单。例如 :

val reports = listOf(
Report(1, "Mike"),
Report(2, "John"),
Report(3, "Ann"),
Report(4, "Mike"),
Report(5, "Bob"),
Report(6, "Carl"),
Report(7, "Donald"),
Report(8, "John"),
Report(9, "Ann"),
Report(10, "Bob"))
Run Code Online (Sandbox Code Playgroud)

如何将此报告列表转换为List<List<Reports>>将使用 RxJava 由 user_name 探查的报告?id 需要的最终变体是这样的:

val reports_grouped_by_user_name = listOf(
listOf(Report(1, "Mike"),Report(4, "Mike")),
listOf(Report(2, "John"),Report(8, "John")),
listOf(Report(3, "Ann"),Report(9, "Ann")),
listOf(Report(5, "Bob"),Report(10, "Bob")),
listOf(Report(6, "Carl")),
listOf(Report(7, "Donald")),
listOf(Report(10, "Bob")))
Run Code Online (Sandbox Code Playgroud)

android group-by kotlin rx-java

0
推荐指数
1
解决办法
87
查看次数

标签 统计

kotlin ×4

android ×1

generics ×1

group-by ×1

jdbi ×1

kotlin-coroutines ×1

rx-java ×1