java - 检查 Java 中 2 个方法的具体结果的最佳方法

标签 java

我有以下方法

public Message JavaMethod(String id1, String id2)

其中我需要调用 Dao 类的方法来验证具有提供的 Id 的用户是否存在,如果不存在,则使用以下方法创建一条详细说明在数据库中找不到的 Id 的消息:

createMessage("Message string",Enum.TYPE,IdofMissingUser);

一开始我想这样做:

public Message JavaMethod(String id1, String id2) {

        if(Dao.findUser(id1) == null || Dao.findUser(id2) == null){
           return createMessage("Error",Enum.Error,id1);
        }else{
           //do some other stuff
        }
}

但显然这样我就不会知道哪个 id 还没有找到。

所以我继续创建了一个丑陋的 if else 循环:

public Message JavaMethod(String id1, String id2) {

    if (Dao.findUser(id1) == null) {
        return createMessage("Error", Enum.Error, id1);

    } else if (Dao.findUser(id2) == null) {
        return createMessage("Error", Enum.Error, id2);
    } else {
        // Do stuff after veryfing users exists
        return createMessage("All OK", Enum.OK, messageData);
    }
}

但我并不确定这是解决这个基本问题的最佳解决方案。

在这种情况下你们会推荐什么?

最佳答案

您可以将 id 包装在列表中并使用 for 循环:

public Message someMethod(String id1, String id2) {
    for (String id: Arrays.asList(id1, id2)) {
        if (Dao.findUser(id) == null) {
            return createMessage("Error", Enum.Error, id);
        }
    }
    // Do stuff after verifying users exists
    return createMessage("All OK", Enum.OK, messageData);
}

关于java - 检查 Java 中 2 个方法的具体结果的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022782/

相关文章:

java - 以格式 1 << n 向左移位的倒数

java - 抽象类中 LinkedHashMap 的初始容量应该始终为零吗?

Java 8 - 从 Collection.stream.map() 调用多参数方法

Java printf 性能

java - 为什么 RuntimeException 扩展 Exception 而不是其他方式?

java - Android - 每次更改变量值时更新通知

Java nio FileSystem Watcher 锁定目录。删除变得不可能

java - persistence.xml 文件的属性的含义是什么

java - 使用flash.net.Socket类从java读取自定义对象时是否需要使用AMF库?

java - 如何在Java中调用具有数组类型的构造函数