可能重复:
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