我有一个带有布尔参数的函数,但它也可能为空。
如果它是真或假,它会使用“WHERE”子句进行查询。如果为 null,则查询没有“WHERE”子句,只有 select 子句。
我怎样才能在 Java 中做到这一点?
我有一个带有布尔参数的函数,但它也可能为空。
如果它是真或假,它会使用“WHERE”子句进行查询。如果为 null,则查询没有“WHERE”子句,只有 select 子句。
我怎样才能在 Java 中做到这一点?
使用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);
您可以使用 java.lang.Boolean; 这是原始布尔值的包装类。该值可以是 null、Boolean.TRUE 或 Boolean.FALSE,但由于自动拆箱,您也可以直接比较真假。
有几种方法可以做到这一点:
boolean参数,一个不带参数。Optional<Boolean>参数声明一个函数。Boolean用参数声明一个功能,其中null未指定的情况。