0

可能重复:
如何比较 Java 中的字符串?

我从 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] 和 'name' 具有相同的值。

4

3 回答 3

0

本质上,您通过使用 == 而不是比较字符串来比较指向两个字符串对象的指针。

要比较字符串,您必须使用字符串 equals 方法:

machineArray[count][0].equals(name)
于 2012-10-04T13:15:08.050 回答
0

尝试将您的条件从 更改machineArray[count][0]==namemachineArray[count][0].equals(name)

于 2012-10-04T13:13:29.880 回答
-1

字符串并不总是具有相同的标识(尽管它很常见)。尝试:

machineArray[count][0].equals(name)
于 2012-10-04T13:13:27.587 回答