0

我在大学学习了这段代码,同时学习 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 做同样的事情......有人有什么想法吗?

4

2 回答 2

6
if (Customers.get(i).delExecute(delIn))

BTW,没必要== true明确说

于 2012-09-02T18:53:22.293 回答
2

在 Java 中,Vector是一个过时的类,您可能应该避免使用它。相反,您应该使用ArrayList. 但是,无论哪种方式,两者都是Lists,因此实现getrandom-access

您可以按如下方式实现您正在尝试的内容......

if (customers.get(i).delExecute(delIn))

请注意,这== true是多余的,因为它实际上是一个身份(true == trueis truefalse == trueis 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;
}
于 2012-09-02T19:03:42.913 回答