【问题标题】:How to change Boolean array to double array如何将布尔数组更改为双数组
【发布时间】:2015-08-23 21:37:25
【问题描述】:
我有布尔数组,我想将它们更改为双数组。如果某个位置为真,则 double 为 1,否则设置等于 0。我该怎么做?
我的布尔数组:
Boolean [] a = new Boolean [10];
int i = 2;
for(int x = 1; x < 7; x=x+i){
String name = "b" + String.valueOf(x);
a [x] = shared.getBoolean(name, false);}
我的双数组:
double [] r = new double[10];
【问题讨论】:
标签:
android
arrays
loops
boolean
double
【解决方案1】:
我不知道你想用你当前的代码实现什么,但这里有一个例子:
Boolean [] a = new Boolean[10];
//fill the array a
double [] r = new double[10];
for(int x = 0; x < 10; x++){
if(a[x]){
r[x] = 1.0;
}
else{
r[x] = 0.0;
}
}
【解决方案2】:
您可以使用 for 循环再次填充双数组:
Boolean [] a = new Boolean [10];
double [] r = new double[10];
for(int i=0; i<a.length; i++) {
if(a[i] != null && a[i])
r[i] = 1d;
else
r[i] = 0d;
}
如您所见,我也在检查 Boolean a[i] != null 是否。
这是因为您使用的是数据类型 boolean 的 Wrapper-Class Boolean(大写 B)。在这种情况下,a[i] 可能为空!所以你应该在某个地方检查一下以避免异常。