如何在 Kotlin 中使用扩展属性作为常量?
How to use extension properties in Kotlin as constants?
我有数据class
data class User(
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
val userId: Long = 0,
@Column(nullable = false, unique = true)
val email: String = "",
@Column(nullable = false)
val firstName: String = "",
)
我讨厌使用“”进行初始化。我想使用类似
的东西
@Column(nullable = false)
val firstName: String = String.EMPTY
我知道扩展属性或函数,但它们看起来也不太好
val firstName: String = "".empty()
val firstName: String = "".EMPTY
实体 classes 是怎么写的?有没有更优雅的方式?
如果你真的想使用String.EMPTY
,你可以在String
的伴随对象上创建一个扩展属性:
val String.Companion.EMPTY: String
get() = ""
这种情况下的用法就像您展示的那样:
val firstName: String = String.EMPTY
(这个在官方文档中有提到here。)
我有数据class
data class User(
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
val userId: Long = 0,
@Column(nullable = false, unique = true)
val email: String = "",
@Column(nullable = false)
val firstName: String = "",
)
我讨厌使用“”进行初始化。我想使用类似
的东西 @Column(nullable = false)
val firstName: String = String.EMPTY
我知道扩展属性或函数,但它们看起来也不太好
val firstName: String = "".empty()
val firstName: String = "".EMPTY
实体 classes 是怎么写的?有没有更优雅的方式?
如果你真的想使用String.EMPTY
,你可以在String
的伴随对象上创建一个扩展属性:
val String.Companion.EMPTY: String
get() = ""
这种情况下的用法就像您展示的那样:
val firstName: String = String.EMPTY
(这个在官方文档中有提到here。)