2012-10-04 124 views
0

可能重复:
How do I compare strings in Java?如何比较两个字符串,从CSV文件中读取并保存在字符串数组

我从一个CSV文件中读取一些记录,并将它们存储到一个字符串键入数组,然后在将每个字段转换为适当的变量后保存。在代码的一部分中,我必须将数组中的字段与字符串类型中的某个变量进行比较。这两个数组都是从csv文件填充的。

  int count=0; 
      String name=resourceArray[i][j+1] ; 
      while(machineArray[count][0]==name) 
      { 

       machineID=Integer.parseInt(machineArray[count][1]); 
       machinePe=Integer.parseInt(machineArray[count][2]); 
       count++; 
      } 

问题是'while'条件永远不会成真。我调试它,我确信machineArray [0] [0]和'名称'具有相同的值。

回答

-1

字符串并不总是有相同的标识(虽然它是常见的)。尝试:

machineArray[count][0].equals(name) 
+0

TNX,问题就迎刃而解了 –

0

试着改变你的条件从machineArray[count][0]==namemachineArray[count][0].equals(name)

+0

TNX,问题就迎刃而解了 –

0

基本上你是用==,而不是比较字符串的指针比较两个字符串对象。

比较字符串,你必须使用字符串的equals方法:

machineArray[count][0].equals(name) 
+0

TNX,问题就解决了 –