Java String Object .Equals无法正常工作

时间:2017-09-29 10:08:20

标签: java android

我正在把头发拉出来应该是一个简单的问题

我正在尝试使用.equals比较两个字符串对象,但它们不匹配

if (folderJobNumber.toUpperCase().equals(fileJobNumber.toUpperCase())) {
                dostuff;
            }

每个字符串对象显示为" Y019 /"在调试中 请注意,我已经使用substring来获取它们的值,如下所示

String folderJobNumber = folderLocation.substring(folderLocation.length() - 5).trim();
String fileJobNumber = file.getName().substring(0,4) + "/".trim();

请参阅调试

中每个变量的截图

enter image description here

我觉得问题是这个值在使用子字符串之前似乎是数据的char数组。

谢谢您提前了解您可能解决的问题

2 个答案:

答案 0 :(得分:1)

如果您只想比较两个字符串,可以尝试使用equalsIgnoreCase代替equals

if (folderJobNumber.equalsIgnoreCase(fileJobNumber)) {
                dostuff;
}

答案 1 :(得分:0)

  

String folderJobNumber =   folderLocation.substring(folderLocation.length() - 5).trim();串   fileJobNumber = file.getName()。substring(0,4)+" /" .trim();

查看调试截图,folderJobNumber是char [56],所以我认为这就是问题所在......我不确定如何获得folderLocation字符串,假设它是这种方式

char data[] = {'a', 'b', 'c'};
     String str = new String(data);

我会尝试

String folderJobNumber = folderLocation.trim().substring(folderLocation.length() - 5)
相关问题