我怎样才能改变这个使用“for循环”而不是`forEach`

我努力改变它使用for循环,仍然做同样的事情。 该程序应该读取一些航class的文件,该程序的特定部分需要使用用户输入的两个不同日期读取该文件,然后需要显示每个航class和每天有多少乘客。 而现在怎么做,但我试图改变它使用for循环,因为我之前说过,但不工作,因为我不知道如何做地图做同样的事情,但只在fun interval 。 fun interval(reservas: List, dayInferior: Int, daySuperior: Int) { val map = mapReservas(reservas) for(day in dayInferior..daySuperior) { map.forEach { val reservasNum = it.key.first val reservasDay = it.key.second val reservasCount = it.value.count() if (reservasDay == day) { println(“$reservasNum has $reservasCount passengers on day $day”) } } } println() println(“Press Enter”) readLine() } […]

Kotlin中的房间持久性库实现(Gradle错误)

我在kotlin中为我的数据库实现实现了Room persistence lib。 在Android Room Persistences库和Kotlin线程中提出了同样的问题,应用这些解决方案导致了不同的gradle错误: 以下是我的Entity , Dao和Database类: Food.kt @Entity class Food(@ColumnInfo(name = “food_name”) var foodName: String, @ColumnInfo(name = “food_desc”) var foodDesc: String, @ColumnInfo(name = “protein”) var protein: Double, @ColumnInfo(name = “carbs”) var carbs: Double, @ColumnInfo(name = “fat”) var fat: Double) { @ColumnInfo(name = “id”) @PrimaryKey(autoGenerate = true) var id: Long = 0 @ColumnInfo(name […]

无法在Kotlin中“findViewById”。 获取错误“types推断失败”

当我尝试按ID查找RecycleView时,出现以下错误。 错误: –types推断失败:没有足够的信息来推断参数T 码: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_recycleview) val recycler_view = findViewById(R.id.recycler_view) as RecyclerView ///IN THIS LINE I AM GETTING THE ERROR data.add(“First Data”) data.add(“Second Data”) data.add(“Third Data”) data.add(“Forth Data”) data.add(“Fifth Data”) //creating our adapter val adapter = CustomRecycleAdapter(data) //now adding the adapter […]

为什么operation.map(启动线程).foreach(join())在kotlin中工作?

我一直在试图find一个解释,为什么这在kotlin工程: (1..100).map { launch { System.out.println(“Hello from on ${Thread.currentThread().name}”) delay(100) } }.forEach { it.join() } 在Java中,这将: 开始线程1 加入线程1 – 在这里阻塞,永远不会启动超过1个线程。 在kotlin这个进程并行的multithreading。 为什么这个工作?

什么matry依赖对kotlin黄瓜?

我想要使​​用kotlin本地步骤定义, 如 : package cucumber.runtime.kotlin.test; … class LambdaStepdefs : En { init { Before { scenario: Scenario -> assertNotSame(this, lastInstance) lastInstance = this } Given(“^this data table:$”) { peopleTable: DataTable -> val people = peopleTable.asList(Person::class.java) assertEquals(“Aslak”, people[0].first) assertEquals(“Hellesøy”, people[0].last) } 凡Givenfunction,而不是一个注释。 我不想使用像@Given(“blabla”) void blabla() { … }的Java风格@Given(“blabla”) void blabla() { … } 。 我试图从示例中导入包: package […]

在启动时使用参数化初始化的单例数据库对象?

我试图创建一个可以被多个类使用的单个数据库实例(在Kotlin中使用object关键字)。 但是,我希望能够在创建单例实例之前指定数据库名称。 由于单例对象不能用参数初始化,所以我想知道我在做什么是有效的,或者是否有更好的方法来做事情: object DatabaseSingleton { private lateinit var databaseName: String private lateinit var mongoClient: MongoClient val database: DatabaseContainer by lazy { DatabaseContainer(databaseName, mongoClient) } fun init(databaseName: String, mongoClient: MongoClient): DatabaseSingleton { this.databaseName = databaseName this.mongoClient = mongoClient return this } } 并在另一个文件 class DatabaseContainer(databaseName: String, val mongoClient: MongoClient) { val db: MongoDatabase = mongoClient.getDatabase(databaseName) […]

OpenGL纹理毛刺与面孔

我正在使用LWJGL来创建一个简单的体素thingy作为一些练习,作为一个适度的简单项目来熟悉Kotlin 。 所以我已经得到了体素渲染下来,除了渲染每个脸上不同纹理的体素。 它看起来不错,直到我开始移动…然后: 如果有人需要整个回购,就在这里 至于相关的类,我不太确定什么是相关的,但这里是生成glVertex3f和glTexture2f的东西: public class Shape { class object { public fun CreateCube(x: Float, y: Float, z: Float, colour: ColourRGBA, tex: MutableList, size: Float) { val sheet: Spritesheet = Main.Instance!!.blocksprites var textures: MutableList = arrayListOf() if (tex.size == 1) { for (i in 0 .. 5) textures.add(tex[0]) } else textures.addAll(tex) // bottom […]

Jsoup中的属性值的字符集

我使用Jsoup,我需要以ascii编码的方式获取html文档中所有标签的属性值,而不用转换它们。 所以,我有以下的HTML文件 0, à vs è”> 3 > 2, 1 > 0 我想用Jsoup来解析。 我需要完全按照原样提取title属性的值: 2 > 1, 1 > 0, à vs è 2 > 1, 1 > 0, à vs è 。 我创建了一个Document对象doc如下(这是在Kotlin,但我不认为这很重要): val charset = Charset.forName(“ascii”) val doc = Jsoup.parse(File(“test.html”).readText(charset)) doc.outputSettings().charset(charset) 当我打印出的文件的方式 println(doc.toString()) 我得到以下字符串 1, 1 > 0, à vs è”> 3 > […]

为什么我得到@提供注释错误?

我已经花了几个小时尝试在谷歌find我的两个匕首实施的区别是什么。 它是这样实现的 @Module class MatchesModule { @Provides @NetworkScope @IntoMap @RetrofitModulesName(eRetrofitModules.MATCHES) fun retrofitMatches(okHttpClient: OkHttpClient, rxAdaptor: RxJava2CallAdapterFactory, iBuilder: Retrofit.Builder): Retrofit = iBuilder.addConverterFactory(GsonConverterFactory.create(mDeserializerMatches)); } 此方法提供Retrofit对象,我也使用注释@IntoMap和@RetrofitModulesName(…)为了把所有这些Retrofit对象映射。 @Module class PreviewModule { @Provides @PreviewScope fun provideMatchesPresenter(retrofitModules: Map): IMatchPresenter = MatchPresenter(retrofitModules) } 我得到所有Retrofit对象,并将它们传递给MathcPresenter一切都很好。 但是我想在我的演示Map<Foo, Provider>获得Map<Foo, Provider> 。 所以,我添加了这个词Provider的论点 @Provides @PreviewScope fun provideMatchesPresenter(retrofitModules: Map<eRetrofitModules, Provider>): IMatchPresenter = MatchPresenter(retrofitModules) 以及MathcPresenter的构造MathcPresenter class MatchPresenter(retrofitModules: Map<eRetrofitModules, Provider>): […]

辛特尔顿在Kotlin有争论

Kotlin参考文献说,我可以使用object关键字创建一个单例,如下所示: object DataProviderManager { fun registerDataProvider(provider: DataProvider) { // } } 不过,我想通过一个论点来说明这个对象。 例如Android项目中的ApplicationContext。 有没有办法做到这一点?