我有一个带有布尔参数的函数,但是它也可以为null。
如果为true或false,则使用“ WHERE”子句进行查询。如果它为null,则查询没有“ WHERE”子句,只有select子句。
如何用Java做到这一点?
答案 0 :(得分:5)
使用Boolean
类
public String foo(Boolean addWhere){
String query = "SELECT * FROM tbl";
if(addWhere != null){
query += (addWhere? " WHERE true" : " WHERE false");
}
return query;
}
按以下方式调用
String q = foo(false);
答案 1 :(得分:2)
您可以使用java.lang.Boolean;这是原始布尔值的包装器类。该值可以为null,Boolean.TRUE或Boolean.FALSE,但是由于自动拆箱,您还可以直接将true和false进行比较。
答案 2 :(得分:1)
有几种方法可以做到:
boolean
参数,另一个没有参数。Optional<Boolean>
参数声明一个函数。Boolean
参数声明一个功能,其中null
是未指定的情况。