如何比较字符串组

时间:2013-06-28 10:46:39

标签: java string compare

我有以下代码..

    WorkPackage spack=(WorkPackage)primaryBusinessObject;
    WTSet res;
    WTPart spart=null;
    String state=null;

res=wt.facade.persistedcollection.PersistedCollectionHelper.service.getAllMembers(spack);

    System.out.println("the values are "+res);

    java.util.Iterator iter=res.persistableIterator();
    while(iter.hasNext())
    {
        spart=(wt.part.WTPart) iter.next();
        wt.lifecycle.LifeCycleState st=spart.getState();

        String state=st.toString();                 //Lifecycle state of part object
    }
    if(state.contains("APPROVED"))
        result="Proceed";

在上面的代码中我传递了一个windchill包,它可能有多个WTPart对象。每个部分可能有不同的生命周期状态。我想要的是如果每个部分状态是“APPROVED”意味着它应该继续我的工作流程。

例如。

LifeCycle状态

 Part1=IN WORK
 Part2=IN REVIEW
 Part3=APPROVED
 Part4=APPROVED
 Part5=CANCELED

我想要比较我的包中的所有对象是APPROVED我可以将它们存储在向量或arraylist中,我不知道如何比较那些对象。我上面的代码将通过,如果有的话其中一个对象状态是APPROVED。我知道这个问题与windchill无关。有人帮我解决了这个问题

1 个答案:

答案 0 :(得分:2)

如果您将所有状态存储在ArrayList<String> states中,那么您可以使用以下内容测试它们是否全部被批准:

boolean allApproved = true;

for(int i = 0; i < states.size(); i++) {
    if(!states.get(i).equals("APPROVED") {
        allApproved = false;
    }
}

在for循环结束时,如果allApproved仍然是真的,那么你很高兴。