这段代码是我在大学学习C++时学到的。后来我在C#中使用了同样的东西...但现在我想在Java中使用它...我在互联网上到处寻找类似的东西,但我甚至不知道如何表达才能得到正确的结果。
所以,嗯,请让我知道如何在JAVA中做到这一点,并让我知道这种方式是什么叫?我知道它是做什么的..但我不知道它是怎么做到的..所以我也想解释一下...
C++和下面的是一样的,除了下面的一个不同之处
C# if (Customers[i].delExecute(delIn) == true)
C++ if (Customers[i]->delExecute(delIn) == true)
Java ?? if (????????????????????????????????)所以在这里,我将尽我所能来解释。C#
Class called Customer with custId etc etc
List<Customer> Customers = new List<Customers>
public void delCust(int delIn)
{
for (int i = 0; i < Customers.Count(); i++)
{
if (Customers[i].delExecute(delIn) == true)
{
Customers.Remove(Customers[i]);
break;
}
}
}
bool delExecute(int delInput) {
if (custId == delInput) {
return true;
}
return false;
}好的,上面的代码可以工作了
现在我想用JAVA做同样的事情...有人知道是怎么回事吗?
发布于 2012-09-03 02:53:22
if (Customers.get(i).delExecute(delIn))顺便说一句,不需要显式地说== true
发布于 2012-09-03 03:03:43
在Java语言中,Vector是一个过时的类,您应该避免使用它。相反,您应该使用ArrayList。但是,无论哪种方式,它们都是List,因此实现了随机访问的get。
您可以实现您正在尝试的内容,如下所示...
if (customers.get(i).delExecute(delIn))请注意,== true是冗余的,因为它实际上是一个身份(true == true是true,false == true是false)。您还应该避免在Java中使用大写的字段名称。
现在,还有一种首选方法可以使用Iterator完成您正在尝试的操作。
private List<Customer> customers = new ArrayList<Customers>();
public void delCust(int delIn) {
final Iterator<Customer> cursor = customers.iterator();
while (cursor.hasNext()) {
if (cursor.next().delExecute(delIn)) {
cursor.remove();
break;
}
}
}..。再加上:
boolean delExecute(int delInput) {
return custId == delInput;
}https://stackoverflow.com/questions/12238802
复制相似问题