【发布时间】:2018-07-30 15:26:03
【问题描述】:
所以我为我的代码创建了一条错误消息。目前,我的代码每次出现时都会吐出错误消息。我的代码验证并确保 excel 文件的格式正确。验证后,如果发生错误/警告消息,它会返回。因此,当我收到错误消息时,每条消息都会在每次发生时出现。例如,验证 excel 文件时出现 6 次错误消息“错误,id 不得包含特殊字符”。有什么方法可以简单地写来检查消息是否已经发生,并记录多少次以便我可以显示?
我想过像if (message = message) { //then create counter} 这样的东西,但这不起作用,因为消息总是等于消息。有人有办法吗?
编辑:这是用于验证的代码片段。我想将消息组合在一起,并且在发布到 API 时不让它们重复。
// if there are errors, then
if (!errorResponse.getItems().isEmpty()) {
// set error response
Iterator<ErrorMessage> iter = errorResponse.getItems().iterator();
Set<ErrorMessage> summarizedErrorMessages = new HashSet<>();
while (iter.hasNext()) {
ErrorMessage sem = new ErrorMessage();
ErrorMessage em = iter.next();
if (!summarizedErrorMessages.contains(em)) {
sem.setMessage(em.getMessage());
sem.setTotal(1);
} else {
sem.setTotal(sem.getTotal() + 1);
}
summarizedErrorMessages.add(sem);
}
errorResponse.setItems(summarizedErrorMessages);
warningResponse.setItems(new ArrayList<WarningMessage>());
【问题讨论】:
-
您只想比较两个字符串吗?如果是,请使用
.equals -
请分享您的代码。
-
使用
Hashmap <String, Integer > map,这映射 Message 和 count ,您可以将所有可能的消息计数为零,然后在发生错误情况时更新(增加)计数。
标签: java error-handling counter