簡體   English   中英

如何在 Kotlin 中創建 object 而不會出現“Null 不能是非空類型 Long 的值”?

[英]How to create object in Kotlin without getting "Null can not be a value of a non-null type Long"?

作為前 Java 的人,我在 Kotlin 是全新的,並試圖理解一些錯誤。

我正在使用 JpaRepository 從 db (Postgres) 獲取記錄。 我想創建一個新記錄,但新記錄在其字段中只有 2 個不同的值,我想添加它(不更新前一個,而是添加一個新記錄)

val otp = notificationRepository.findById(id).get()
        val newOtp = otp
        newOtp.delivery = newOtp.delivery.plusMinutes(OTP_RESEND_TIME_IN_MINUTES);
        newOtp.status = NotifyStatus.PENDING
        newOtp.id = null // HERE I AM GETTING ERROR
        //save logic here

我無法將新記錄的 ID 設置為 null 以保存它,因為 ide 給出錯誤“ Null 不能是非空類型 Long 的值

如何通過僅更新一些字段並制作“id”null 來存儲它來創建一個新的 object?

這是你應該如何定義你的 class:

class Notification(
    val id: Long?,
    val status: NotifyStatus,
    val delivery: DateTime
)

因為我不知道 class 長什么樣,我猜你一定有一個 class 或數據 class 長得像。

如果你想聲明一個可為空的變量,你應該使用? 在它的類型之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM