我有这个Java代码,我起诉将对象创建为Java List:
ListIssues obj = new ListIssues(
get.getId(),
get.getUrl().toString(),
get.getTitle(),
get.getState().name(),
get.getBody(),
get.getMilestone().toString(),
get.getLabels().toArray(),
get.getCreatedAt(),
get.getClosedAt()
);
但有时候我有空值。我如何以一种聪明的方式检查价值观?
答案 0 :(得分:0)
但有时候我有空值。我如何检查中的值 一些聪明的方式?
好的做法是,如果缺少任何必填字段,ng build
构造函数应抛出ListIssues
(而不是在构造函数外明确检查IllegalArgumentExcetion
)。
此外,如果有任何可选字段可以设置,那么您可以使用构建器模式,您可以查看here。
答案 1 :(得分:0)
这有点困难并且可以根据应用程序变化,你应该有一个验证方法返回一个布尔值,结果是 连贯 验证,我重点是连贯一词,因为像get.getLabels().toArray()
这样的一些元素会更好地验证数组是否为空而不是null ...
无论如何是一个例子:
public static boolean isValid(Iget get){
boolean ret = true;
ret &= get.getId() !=null;
ret &= get.getUrl().toString()!=null;
...
...
return ret;
}
答案 2 :(得分:0)
你的问题在某种程度上仍然不清楚,所以我不知道这是否能解决问题,但我想提一下,我通常会写我的构造函数:
public ListIssues(String id, String url, String title, String state,
Body body, String milestone, String[] labels, Instant createdAt,
Instant closedAt) {
super();
this.id = Objects.requireNonNull(id);
this.url = Objects.requireNonNull(url);
this.title = Objects.requireNonNull(title);
this.state = Objects.requireNonNull(state);
this.body = Objects.requireNonNull(body);
this.milestone = Objects.requireNonNull(milestone);
this.labels = Objects.requireNonNull(labels);
this.createdAt = Objects.requireNonNull(createdAt);
this.closedAt = Objects.requireNonNull(closedAt);
}
如果参数为null, requireNonNull()
将抛出NullPointerException
。如果允许一个参数为null,则只需忽略该调用。