在java中传递多个值

时间:2014-06-09 14:37:08

标签: java

我是java新手。这是我的第一个使用解析器的java代码,我能够通过

检查特定标记的节点值

if(name != null && name.equals("Length"))

如何在名称值中传递多个值,如name.equals(“Length”,“Length1”,“Length3”)),我必须检查大约2000个值

下面是部分代码

      if (file.exists()) { 
          Document doc = db.parse(file); 
          Element docEle = doc.getDocumentElement(); 

          NodeList Line = docEle.getElementsByTagName("Lineno");
          System.out.println("size " + Line.getLength());

          if(Line != null && Line.getLength() > 0)
          {                      
            if(doc1.getDocumentElement() == null)
            {
                Element root1 = doc1.createElement("Line");    
                doc1.appendChild(root1);   
            }
            for(int j = 0 ;j < nodeValue.getLength();j++)
            {
               Element el = (org.w3c.dom.Element) nodeValue.item(j);
               String name = el.getAttribute("name");
               String value = el.getAttribute("void");
               String valueFromNode = el.getTextContent();
               if(name != null && name.equals("id"))
               {
                  ITEMID =valueFromNode; 
               }
               if(name != null && name.equals("Length"))
               {
                //  System.out.println("This has datcode " + ele);
                  datecode = "Yes";
                  cwi = valueFromNode;
                //  doc1.getDocumentElement().appendChild(doc1.importNode(imported, true));    
                }
             }
        }
    }

3 个答案:

答案 0 :(得分:1)

您可以将长度值填入ArrayList,然后询问名称是否包含该数组。

例如:

ArrayList<String> lengths = new ArrayList<String>();
//add all lengths values into array

if(lengths.contains(name){ 
    //do something
}

答案 1 :(得分:1)

将所有值放在ArrayList中并使用.contains()

List<String> strings = new ArrayList<>();
strings.add("Length");

然后:

if (name != null && strings.contains(name))

答案 2 :(得分:0)

如果我需要将单个String与大型集合进行比较,因为它存在,我会使用HashSet<String>。 考虑到测试相等性,我会检查我的String对象是否在我的集合中。如果确实如此 - 而不是相等。

HashSet<String> compSet=new HashSet<String>();
//put strings to comparision
if(name!=null && compSet.contains(name)){
//hey it was equal.
}