Wes*_*Wes 2 validation kotlin data-class
kotlin 中是否有任何方法可以对数据类值进行约束。我正在寻找类似于以下 java.lang.String 的内容。它不需要是非法参数异常,并且约束不一定在字符串字段上。
public class TotallyMadeUpClass{
private String username
public String getUsername(){ return this.username }
//Constrain the value somehow.
public void setUsername(String username) {
if (username.length > 10)
throw new IllegalArgumentException()
this.username = username}
}
Run Code Online (Sandbox Code Playgroud)
或者这个例子更接近我想要实现的目标。
public class TotallyMadeUpClass{
private final String username;
TotallyMadeUpClass(String username, OtherParams others){
if (username.length > 10)
throw new IllegalArgumentException()
this.username = username
}
public String getUsername(){ return this.username }
}
Run Code Online (Sandbox Code Playgroud)
在 Kotlin 中应用约束的更惯用方法是使用require函数:
data class TotallyMadeUpClass(val username: String) {
init {
require(username.length > 10) { "Length must be greater than 10" }
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
如果值为false ,它会抛出IllegalArgumentException。
| 归档时间: |
|
| 查看次数: |
1611 次 |
| 最近记录: |