Tag: 科特林

编译错误:智能转换为”是不可能的,因为”是一个局部variables,

为了简化我的实际使用情况,我们假设我想在列表中find最大数字: var max : Int? = null listOf(1, 2, 3).forEach { if (max == null || it > max) { max = it } } 但是,编译失败,出现以下错误: 智能转换为’Int’是不可能的,因为’max’是一个由变化的闭包捕获的局部variables 为什么更改的闭包会阻止智能投射在这个例子中工作?

我怎样才能改变这个使用“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 […]

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。 有没有办法做到这一点?

如何从字符串转换为Double不起作用?

我有这个代码: fun main(args:Array){ var value:String = “4.0*5.0” var value_double = value.toDouble() print(value_double) } 我得到一个错误,但我不明白为什么我不得到20.0?

Kotlin的单个感叹号

Kotlin中的单个感叹号是什么意思? 我已经看过几次,特别是在使用Java API的时候。 但是我无法在文档或StackOverflow中find它。