我在大学里学习了这段代码,同时学习了C ++ ..后来我在C#中使用了同样的东西......但现在我想在Java中使用它......我已经在互联网上寻找类似的东西,但我甚至没有怎么说出来,所以我得到了正确的结果。
所以嗯,请让我知道如何做到这一点是在JAVA,也让我知道这是什么叫做???我知道它做了什么..但我不知道它是如何做到的......所以也要介意解释它......
C ++与下面的内容相同,只有一个DIFFERENCE看下面
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一样......任何人都有任何想法如何?
答案 0 :(得分:6)
if (Customers.get(i).delExecute(delIn))
顺便说一下,没有必要明确说出== true
答案 1 :(得分:2)
在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;
}