java - 如何比较字符串组

标签 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 对象。每个部件可能有不同的生命周期状态。我想要的是,如果每个部件状态都是“已批准”,则意味着它应该继续进行我的工作流程。

例如。

生命周期状态

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

我想比较我的包中的所有对象已批准我可以将它们存储在 vector 或数组列表中,但我不知道如何比较其中的所有对象。我的上面的代码将如果任何一个对象状态已批准,则通过。我知道这个问题与 Windchill 无关。有人帮我解决这个问题

最佳答案

如果将所有状态存储在 ArrayList<String> states 中然后您可以使用以下方法测试它们是否都已批准:

boolean allApproved = true;

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

在 for 循环结束时,如果 allApproved 仍然为 true,那么就可以开始了。

关于java - 如何比较字符串组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362943/

相关文章:

javax.json : Adding a value to a javax JsonValue

c - sscanf 从头开始​​读取

c - 如何在C/Cilk中以线程安全的方式打印?

c++ - 比较两个对象之间的实例。 C++

java - 如何更改我的代码,以便结果基于用户输入的年日?

excel - 如何通过多张纸进行比较?

java - Spark DataFrame如何使用java获取最新的n行

由于递归导致的 java.lang.StackOverflowError

java - 使用自定义渐变

python - 如何在数据框中查找其间带有下划线文本的字符串