java中的可选参数(可以为null)
我有一个带有布尔参数的函数,但它也可以为null 如果是true或false,则使用“WHERE”子句进行查询。如果为null,则查询没有“WHERE”子句,只有select子句java中的可选参数(可以为null),java,Java,我有一个带有布尔参数的函数,但它也可以为null 如果是true或false,则使用“WHERE”子句进行查询。如果为null,则查询没有“WHERE”子句,只有select子句 我如何在Java中做到这一点 您可以使用java.lang.Boolean;这是基本布尔值的包装类。该值可以为null、Boolean.TRUE或Boolean.FALSE,但由于自动取消装箱,您还可以直接与TRUE和FALSE进行比较。使用布尔值 public String foo(Boolean addWhere)
我如何在Java中做到这一点 您可以使用java.lang.Boolean;这是基本布尔值的包装类。该值可以为null、Boolean.TRUE或Boolean.FALSE,但由于自动取消装箱,您还可以直接与TRUE和FALSE进行比较。使用
布尔值
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);
有几种方法可以做到这一点:
- 声明两个函数,一个带有
boolean
参数,另一个不带参数
- 声明一个带有
可选参数的函数
- 使用
Boolean
参数声明一个函数,其中null
是未指定的情况
最好的方法可能是编写两个方法:一个带布尔参数,另一个不带布尔参数。但是您也可以使用java.lang.Boolean,它可以为null。或者使用具有三个值的枚举,而不是布尔值。最好的选择是创建一个enum
,它接受三个值TRUE
、FALSE
和未指定的
。这意味着您可以编写类型安全、空安全的代码。