当然,空定义可以有所不同.我已经习惯了PHP的空,它会将空的所有内容调用为false.我想在我的Java应用程序中将这些东西称为空:
nulllengthInteger,Float或DoublefalseArrayList或HashMap例如,Java就是toString惯例.每个对象都被授予给你一些字符串表示.在我的Settings班上,我经营HashMap<String, Object>.我的empty方法现在看起来像这样:
public boolean empty(String name) {
Object val = settings.get(name);
if(val!=null) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我想以传统的方式扩展它,而不是if(val instanceof XXX)链.
不,Java中没有标准惯例.此外,在Java中没有"评估为假"(当然除了布尔和布尔除外).
您将不得不编写一个方法(或者更确切地说,为您需要的每种类型的一系列重载方法),它实现了您的"空"概念.例如:
public static boolean isEmpty(String s) {
return (s == null) || (s.isEmpty());
}
public static boolean isEmpty(int i) {
return i == 0;
}
...
Run Code Online (Sandbox Code Playgroud)