我正在把头发拉出来应该是一个简单的问题
我正在尝试使用.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();
请参阅调试
中每个变量的截图我觉得问题是这个值在使用子字符串之前似乎是数据的char数组。
谢谢您提前了解您可能解决的问题
答案 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)