Use*_*291 3 java arrays casting boolean indexof
假设我有一个布尔数组,我想找到第一个"真正的"条目.由于Java数组没有indexOf方法,我想这样做:
boolean[] bArr = new boolean[]{true, true, true, true, true};
int index = Arrays.asList(bArr).indexOf(true);
Run Code Online (Sandbox Code Playgroud)
现在为什么这会导致索引'为-1(即"没有真正找到").
Ale*_* C. 10
因为Arrays.asList(bArr)创造了一个List<boolean[]>不是List<Boolean>.Arrays.asList不会将您的boolean[]数组装入Boolean[]数组(注意区别).
因此,您只有一个在索引0处具有单个布尔数组的List.
如果您使用Boolean[] bArr = new Boolean[]{true, true, true, true, true};,index则值为0.
所以克服这个问题的方法是:
boolean[]数组作为参数和要查找的值| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |