Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java if条件代码优化_Java_If Statement_Java 7_Notnull - Fatal编程技术网

Java if条件代码优化

Java if条件代码优化,java,if-statement,java-7,notnull,Java,If Statement,Java 7,Notnull,请帮助我,如果有任何其他简单的方法来优化/实施以下可能性的代码。home、bill、reg等变量可以是空字符串(“”)或null,具体取决于场景 我的代码 public void helloWorld() { List items=new ArrayList(); items.add("1"); // dummy list String home=""; // can be null or empty String bill=null; // can be nu

请帮助我,如果有任何其他简单的方法来优化/实施以下可能性的代码。home、bill、reg等变量可以是空字符串(“”)或null,具体取决于场景

我的代码

public void helloWorld()
{
    List items=new ArrayList();
    items.add("1"); // dummy list
    String home=""; // can be null or empty
    String bill=null;  // can be null or empty
    String reg="";  // can be null or empty
    if(!items.isEmpty())
    {
        System.out.println("List is not null");
        if(home==null&&bill==null&&reg==null) 
        {
            System.out.println("home is null");
            System.out.println("bill is null");
            System.out.println("reg is null");
        }
        if(home==null&&bill==null&&reg!=null)
        {
            System.out.println("home is null");
            System.out.println("bill is null");
            System.out.println("reg is not null");
        }
        if(home==null&&bill!=null&&reg==null)
        {
            System.out.println("home is null");
            System.out.println("bill is not null");
            System.out.println("reg is null");
        }
        if(home==null&&bill!=null&&reg!=null)
        {
            System.out.println("home is null");
            System.out.println("bill is not null");
            System.out.println("reg is not null");
        }
        if(home!=null&&bill==null&&reg==null)
        {
            System.out.println("home is not null");
            System.out.println("bill is null");
            System.out.println("reg is null");
        }
        if(home!=null&&bill==null&&reg!=null)
        {
            System.out.println("home is not null");
            System.out.println("bill is null");
            System.out.println("reg is not null");
        }
        if(home!=null&&bill!=null&&reg==null)
        {
            System.out.println("home is not null");
            System.out.println("bill is not null");
            System.out.println("reg is null");
        }
        if(home!=null&&bill!=null&&reg!=null)
        {
            System.out.println("home is not null");
            System.out.println("bill is not null");
            System.out.println("reg is not null");
        }
    }
    else
    {
        System.out.println("List is null");
    }
}
请告知。
提前感谢。

只需分别检查
主页
账单
、和
注册
,因为它们之间没有依赖关系

public void helloWorld()
{
    List items=new ArrayList();
    items.add("1"); // dummy list
    String home=""; // can be null or empty
    String bill=null;  // can be null or empty
    String reg="";  // can be null or empty
    if(!items.isEmpty())
    {
        System.out.println("List is not null");
        System.out.println( home == null ? "home is null" : "home is not null" );
        System.out.println( bill == null ? "bill is null" : "bill is not null" );
        System.out.println( reg == null ? "reg is null" : "reg is not null" );

    }
    else
    {
        System.out.println("List is null");
    }
}

只需分别检查
home
bill
reg
,因为它们之间没有依赖关系

public void helloWorld()
{
    List items=new ArrayList();
    items.add("1"); // dummy list
    String home=""; // can be null or empty
    String bill=null;  // can be null or empty
    String reg="";  // can be null or empty
    if(!items.isEmpty())
    {
        System.out.println("List is not null");
        System.out.println( home == null ? "home is null" : "home is not null" );
        System.out.println( bill == null ? "bill is null" : "bill is not null" );
        System.out.println( reg == null ? "reg is null" : "reg is not null" );

    }
    else
    {
        System.out.println("List is null");
    }
}

正如建议的那样,只需检查每个变量,而不是列出所有排列

    if(home==null) 
    {
        System.out.println("home is null");
    }
    else
    {
        System.out.println("home is not null");
    }
    if (bill==null)
    {
        System.out.println("bill is null");
    }
    else
    {
        System.out.println("bill is not null");
    }
    ...

正如建议的那样,只需检查每个变量,而不是列出所有排列

    if(home==null) 
    {
        System.out.println("home is null");
    }
    else
    {
        System.out.println("home is not null");
    }
    if (bill==null)
    {
        System.out.println("bill is null");
    }
    else
    {
        System.out.println("bill is not null");
    }
    ...

根据你对其他答案的评论,你需要采取一些行动

下面是一个示例,说明如何根据不同字符串的值重用代码来执行不同的操作:

public void helloWorld() {
    List items = new ArrayList();
    items.add("1"); // dummy list
    String home = ""; // can be null or empty
    String bill = null; // can be null or empty
    String reg = ""; // can be null or empty


    switch (validateInputString(home)) {
    case 1:
        //doAction 1;
        break;
    case 2:
        //doAction 2;
        break;
    case 3:
        //doAction 3;
        break;

    default:
        break;
    }

}

public int validateInputString(String toValidate){
    if(toValidate==null)
        return 1;

    if(toValidate.equals(""))
        return 2;


    return 3;
}

您可以对每个字符串执行此操作,对列表执行类似操作…

根据您对其他答案的评论,您需要执行一些操作

下面是一个示例,说明如何根据不同字符串的值重用代码来执行不同的操作:

public void helloWorld() {
    List items = new ArrayList();
    items.add("1"); // dummy list
    String home = ""; // can be null or empty
    String bill = null; // can be null or empty
    String reg = ""; // can be null or empty


    switch (validateInputString(home)) {
    case 1:
        //doAction 1;
        break;
    case 2:
        //doAction 2;
        break;
    case 3:
        //doAction 3;
        break;

    default:
        break;
    }

}

public int validateInputString(String toValidate){
    if(toValidate==null)
        return 1;

    if(toValidate.equals(""))
        return 2;


    return 3;
}

您可以对每个字符串执行此操作,对列表执行类似操作…

为什么不分别检查和打印每个变量?如果
home
null
,则打印
home为null
,否则打印
home不为null
。这与其他变量的值无关。为什么不分别检查和打印每个变量?如果
home
null
,则打印
home为null
,否则打印
home不为null
。这与其他变量的值无关。这不仅仅是打印值,它将根据null或notnull执行一些操作conditions@user3492471哦,如果Syso只是一个动作的例子,那么实现会有所不同,请看我的回答这不仅仅是关于打印值,它将根据null或notnull执行一些操作conditions@user3492471哦,如果Syso只是一个动作的例子,那么实现会有所不同,请看我的答案