如何逻辑地创建图?

时间:2019-04-01 13:43:59

标签: java

我有一个过滤器系统,用户可以在8个参数中进行选择,每个参数可以为null或不为null。在每个路径的末尾,我只需要使用不为null的参数来调用方法。我该怎么做 ?

如果使用此方案,它将非常大……

if (arg1 ==true){
  if (args2 == true){
    if(arg3 == true) {
       do(arg1, arg2, arg3);
    }
     else{
        do(arg1, arg2);
        }
  }
    else {
       do(arg1);
      }
 }
else {
do();
}

1 个答案:

答案 0 :(得分:1)

您的代码应该将args与null而不是true进行比较。

如果我是你,我会重新考虑设计。传递大量的null并不是编写Java代码的正常方法,这会使API及其实现变得复杂。

如果参数都是相同的类型,则可以使用varargs作为参数。否则,Builder design pattern对于用合理的默认值构建缺少参数的对象可能很有用。