我正在尝试检查我的代码是否已将特定的布尔变量明确设置为true或false。
默认情况下,布尔数组初始化为false。因此,作为DP问题的一部分,我无法使用它来验证以前的状态。我想到了一个包含所有已修改元素的索引的集合。但是我想知道是否还有一种更优雅的方法。另一种方法可能是停止默认初始化,尽管我似乎找不到该怎么做。
public static boolean testMethod(int N) {
boolean b[] = new boolean[N+1];
return canWin(N,b);
}
public static boolean SubMethod(int N, boolean[] b){
if(b[N] != null)// This is where I want to check(null check does not work)
return b[N];
for(int i = 1; i<= N/2; i++){
if(N%i == 0){
if(!SubMethod(N-i, b)){
b[N] = true;
return true;
}
}
}
b[N] = false;
return false;
}
答案 0 :(得分:0)
boolean
是原始类型。 Java中的Primitive types永远不会为null。默认情况下,布尔值设置为false
。
如果要使用null,请使用布尔类
例如:
Boolean b[] = new Boolean[N+1];
然后
if(b[N] != null)//
将为您服务