Java if条件代码优化
请帮助我,如果有任何其他简单的方法来优化/实施以下可能性的代码。home、bill、reg等变量可以是空字符串(“”)或null,具体取决于场景 我的代码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
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&®==null)
{
System.out.println("home is null");
System.out.println("bill is null");
System.out.println("reg is null");
}
if(home==null&&bill==null&®!=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&®==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&®!=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&®==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&®!=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&®==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&®!=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只是一个动作的例子,那么实现会有所不同,请看我的答案