【问题标题】:How to avoid or fix Kotlin warning related with Int vs Integer如何避免或修复与 Int vs Integer 相关的 Kotlin 警告
【发布时间】:2018-09-03 06:17:57
【问题描述】:

我有一个 Spring Boot 2.0.0 / Kotlin / Gradle 项目。 注入整数时出现警告。我知道reason,但不知道解决方法。有没有更好的方法来注入这些@Values? 谢谢

警告:

\src\main\kotlin\com\tech\stands\PicturesDownloader.kt: (22, 31): This class shouldn't be used in Kotlin. Use kotlin.Int instead.

代码:

abstract class PicturesDownloader {

    @Value("\${cache.adpics.concurrent}")
    lateinit var MAX_CONCURRENT: Integer
    @Value("\${cache.adpics.max}")
    lateinit var MAX_AD_PICS: Integer
}

如果没有办法解决,有没有办法抑制它?

【问题讨论】:

  • 那会说:'lateinit' modifer is not allowed on properties of primitive types

标签: spring-boot kotlin


【解决方案1】:

如果你想抑制它,你可以使用这个注解:

@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")

我不熟悉 Spring Boot 和值注入系统,所以我不确定这是否可行。将值设置为 0,使用 Int 并删除 lateinit。由于它仍然是一个var,所以在创建后仍然可以设置,也就是说一旦创建了类,值注入应该可以设置它。

@Value("\${cache.adpics.concurrent}")
var MAX_CONCURRENT: Int = 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 2021-02-04
    • 2023-03-31
    相关资源
    最近更新 更多