使用Java中的foreach,与C#相比

时间:2012-12-09 15:16:47

标签: c# java

我正在尝试使用foreach从现有玩家中选择一个生物,生物存在于m_creature下的生物矢量中但是我无法在Java中训练foreach的格式。

我已经编写了代码,因为我会用C#编写代码,我希望有人可以指出我应该在我的Java应用程序中使用它的差异。我一直在使用Vectors而不是列表。

public List<Creature> SelectCreature(String Name)
    {
        List<Creature> foundCreature = new List<Creature>();

        //For the customer name that equals what has been searched...
        foreach (Creature c in m_creature)
        {
            //
            if (c.CreatureName.Equals(Name, StringComparison.OrdinalIgnoreCase))
                foundCreature.Add(c);
        }

        return foundCreature;
    }

1 个答案:

答案 0 :(得分:2)

java中的foreach命令使用相同的旧for关键字:

public List<Creature> SelectCreature(String Name)
{
    // List is an interface, you must use a specific implementation
    // like ArrayList:
    List<Creature> foundCreature = new ArrayList<Creature>();

    //For the customer name that equals what has been searched...
    for ( Creature c: m_creature)
    {
        //
        if (c.CreatureName.equalsIgnoreCase(Name))
            foundCreature.add(c);
    }

    return foundCreature;
}

查阅Java API以及使用具有代码完成和对象属性列表的IDE(例如Eclipse)将很有用。

另外,与C#不同,请注意Java中的常见做法是将对象方法设置为较低的camel情况,因此list方法为add,比较方法为equals,如评论。

有用的链接: String API

for statement

List API