我从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'具有相同的值。
答案 0 :(得分:0)
尝试将您的条件从machineArray[count][0]==name
更改为machineArray[count][0].equals(name)
。
答案 1 :(得分:0)
基本上,您通过使用==而不是比较字符串来比较指向两个String对象的指针。
要比较字符串,您必须使用字符串等于方法:
machineArray[count][0].equals(name)
答案 2 :(得分:-1)
字符串并不总是具有相同的标识(尽管很常见)。尝试:
machineArray[count][0].equals(name)