我可以添加一个已经存在的java类到一个密封的Kotlin类中吗?

vmdwslir  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(118)

我使用2个类来处理错误状态,Spring自己的org.springframework.http.HttpStatus和我的自定义ErrorStatus

enum class ErrorStatus(val code: Int, val reasonPhrase: String) {
    ELEMENT_NOT_FOUND(1404, "Element not found"),
    UNKNOWN_ERROR(1000, "Unknown Error"),
}

我希望使用以下命令密封这两个类:

sealed interface Error

在我的类中这样做很简单:enum class ErrorStatus(val code: Int, val reasonPhrase: String) : Error {
但是是否可以将HttpStatus类标记为这个密封接口的一部分呢?

chhkpiq4

chhkpiq41#

不能,不能从外部将接口应用于类。此外,密封类或接口的成员必须在与密封类或接口相同的项目模块中定义。
我会把另一节课打包。

data class HttpStatusError(val status: HttpStatus): Error

您可以考虑将其作为内联 Package 器类:

@JvmInline value class HttpStatusError(val status: HttpStatus): Error

相关问题