可能重複:
In Java, how can I test if an Array contains a certain value?爪哇 - 檢查項目是在陣列
我有一個陣列設置如下:
Material[] blockedlevel1 = {
Material.mymaterialone, Material.mymaterialtwo
};
如何看是否有材料在這個數組中?
可能重複:
In Java, how can I test if an Array contains a certain value?爪哇 - 檢查項目是在陣列
我有一個陣列設置如下:
Material[] blockedlevel1 = {
Material.mymaterialone, Material.mymaterialtwo
};
如何看是否有材料在這個數組中?
如何在數組中尋找它?
for (Material m : blockedlevel1) {
if (m.equals(searchedMaterial)) { // assuming that equals() was overriden
// found it! do something with it
break;
}
}
謝謝,這看起來很完美。 – DannyF247 2012-03-15 01:52:56
如何設置「m」以便我可以將其與數組進行比較?我需要檢查'材料塊= event.getBlock()。getType();'(這是我的材料)。 – DannyF247 2012-03-15 03:52:36
在上面的循環中,'m'依次綁定到每個數組的元素;你不需要設置它,for循環爲你做。你需要注意的是,提供一個'searledMaterial',你可以對它進行比較(在你的例子中它會是'block'),在'Material'類中實現'equals()'方法,並且一旦你找到材料,就在'if'裏面做些事情。 – 2012-03-15 04:00:55
如果你想檢查一個簡單的方法,如果一個元素是一個集合的一部分,你或許應該考慮不同的數據結構像集(和使用包含())。使用數組只能遍歷元素並比較每個元素。
如何使用Arrays類來查找它?
或者像有人建議,把你的陣列成List並使用contains()方法。請記住,您可能必須重寫Material#equals方法。
找吧,我想。有那個「做循環」的東西。 – 2012-03-15 01:34:10