gpt4 book ai didi

spring-boot - 在模型内部构造一个arraylist

转载 作者:行者123 更新时间:2023-12-02 12:49:53 25 4
gpt4 key购买 nike

我有一个模特类

    @Entity
@Table(name = "registration_requests")
class RegistrationRequest(
@Column(unique = true)
@Size(min = 2)
var username: String = "",
@Size(min = 10, max = 60)
var password: String = "",
@Size(min = 9, max = 9)
var evaluations: String = "",
@Transient
var question: String = "",
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
var id: Long = 0,
@DateTimeFormat
val createdAt: Date = Date.from(Instant.now())
) {
@Transient
lateinit var evaluationImages: Collection<EvaluationImage>
}
现在我想在服务中初始化字段评价图像
var retVal = RegistrationRequest(userDetails.username, userDetails.password, "", "")
retVal.evaluationImages = ArrayList<EvaluationImage>()
我收到错误“无法智能转换为'kotlin.collections.ArrayList / * = java.util.ArrayList * /',因为'retVal.evaluationImages'是一个复杂的表达式”。
我的目标进一步是将类EvaluationImage的对象添加到retVal.evaluationImages。
谁能帮忙吗?

最佳答案

我想您希望evaluationImages在某些作用域中看起来像一个可变列表,但在作用域外部是不可变的集合。然后,您可以执行以下操作

class RegistrationRequest(...) {
internal val _evaluationImages = mutableListOf<String>()
val evaluationImages: Collection<String> get() = _evaluationImages
}
internal修饰符允许从同一Gradle项目内部访问属性,但不允许从外部访问属性。
另一个选择是在您的类(class)上有两个不同的“ View ”:
interface A {
val images: MutableList<String>
}

interface B {
val images: Collection<String>
}

class C : A, B {
override val images = mutableListOf<String>()
}

关于spring-boot - 在模型内部构造一个arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62965978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com