Java 关于if-else的多个条件

Java 关于if-else的多个条件,java,if-statement,Java,If Statement,我有一个常量文件abcder.constants,如下所示 public static final String ABC_abbject_EOD = "DDD_Report"; public static final String CDE_abbject_INTRADAY = "FFD_Report"; public void Gen(String[] toAddress, String[] ccAddress, String abbject, String m

我有一个常量文件
abcder.constants
,如下所示

public static final String ABC_abbject_EOD = "DDD_Report";
public static final String CDE_abbject_INTRADAY = "FFD_Report";
public void Gen(String[] toAddress, String[] ccAddress, String abbject,
                String message, String defIdentifier, Date date)
现在我有下面的方法,如下所示

public static final String ABC_abbject_EOD = "DDD_Report";
public static final String CDE_abbject_INTRADAY = "FFD_Report";
public void Gen(String[] toAddress, String[] ccAddress, String abbject,
                String message, String defIdentifier, Date date)
现在,在这个方法中可能有两种情况,
defIdentifier
is
null
或者
abbject
参数有一个值

  • 因此,如果
    defIdentifier
    为空,那么
    abject
    有一个值,它来自
    abcderconstant
    ,因此在这种情况下,我必须做一些事情。这取决于abject的值,它可以是
    ABC\u abject\u EOD
    CDE\u abject\u INTRADAY
  • 如果
    defIdentifier
    不为null,那么
    abbject
    为null,那么在这种情况下,我必须执行其他操作
  • 因此,我开发了如下所示的代码,请告知这是正确的方法吗

    if (defIdentifier != null && abbject== null)
    {
        String s = defIdentifier + "-" + formatter.format(now.getTime()) + "." + "doc";
    }
    
    if (defIdentifier == null && abbject.equalsIgnoreCase(abcderconstants.ABC_abbject_EOD))
    {
        String s = "DDD-Report" + "-" + formatter.format(now.getTime()) + "." + "doc";
    }
    if (defIdentifier == null && abbject.equalsIgnoreCase(abcderconstants.CDE_abbject_INTRADAY))
    {
        String s = "FFD-Report" + "-" + formatter.format(now.getTime()) + "." + "doc";
    }
    

    字符串s=…
    置于if语句之外。最好检查
    abbject
    是否为空。请尝试使用更好的变量名

    String s = null;
    
    if (defIdentifier != null && abbject == null) {
        s = defIdentifier + "-" + formatter.format(now.getTime()) + "." + "doc";
    } 
    else if (defIdentifier == null && abbject != null && abbject.equalsIgnoreCase(abcderconstants.ABC_abbject_EOD)) {
        s = "DDD-Report" + "-" + formatter.format(now.getTime()) + "." + "doc";
    }
    else if (defIdentifier == null && abbject != null && abbject.equalsIgnoreCase(abcderconstants.CDE_abbject_INTRADAY)) {
        s = "FFD-Report" + "-" + formatter.format(now.getTime()) + "." + "doc";
    }
    

    这些名字是什么意思?“abbject”?这段代码应该做什么?问题是检查忘记名称的条件,变量中不能有空格names@Madcore是的,我会小心的,但是请给我一些建议conditions@pstantondef identifier是一个字符串变量,其中包含一些值。我担心的原因是条件逻辑,否则是否正确,请告知并我用ignore case检查字符串的方式是:
    sb.append(“-”).append(formatter.format(now.getTime()).append(.doc)):)