Java 两个字符串之间的相等

Java 两个字符串之间的相等,java,string,Java,String,我有一个具有以下结构的文本文件: CRIM:Continuius ZN:Continuius 印度河:连续流 查斯:绝对的 氮氧化物:连续流 我将其插入到二维数组中: BufferedReader description = new BufferedReader(new FileReader(fullpath2)); String[][] desc; desc = new String[5][2]; String[] temp_desc;

我有一个具有以下结构的文本文件:

CRIM:Continuius
ZN:Continuius
印度河:连续流
查斯:绝对的
氮氧化物:连续流
我将其插入到二维数组中:

BufferedReader description = new BufferedReader(new FileReader(fullpath2));
        String[][] desc;
        desc = new String[5][2];

        String[] temp_desc;
        String delims_desc = ":";
        String[] tempString;

        for (int k1 = 0; k1 < 5; k1++) {
            String line1 = description.readLine();
            temp_desc = line1.split(delims_desc);
            desc[k1][0] = temp_desc[0];
            desc[k1][1] = temp_desc[1];
        }
BufferedReader description=newbufferedreader(newfilereader(fullpath2));
字符串[][]描述;
desc=新字符串[5][2];
字符串[]临时描述;
字符串delims_desc=“:”;
字符串[]tempString;
对于(int k1=0;k1<5;k1++){
字符串line1=description.readLine();
temp_desc=第1行拆分(delims_desc);
描述[k1][0]=温度描述[0];
描述[k1][1]=温度描述[1];
}
然后尝试确定哪个属性是分类属性:

        String categ = "Categorical";
        for (int i=0; i<5; i++){
            String temp1 = String.valueOf(desc[i][1]);
            if ("Categorical".equals(desc[i][1])){
                System.out.println("The "+k1+ " th is categorical.");
}
}
String categ=“分类”;

对于(int i=0;i查看您发布的输入(在中),我看到文本文件的几乎每一行都有大量尾随空格。如果您替换

desc[k1][1] = temp_desc[1];

您甚至可以将代码缩短为

for (int k1 = 0; k1 < 5; k1++) {
    String line1 = description.readLine().trim();
    desc[k1] = line1.split(delims_desc);
}


这些不是相等的字符串。

查看您发布的输入(在中),我发现文本文件的几乎每一行都有大量尾随空格。如果您替换

desc[k1][1] = temp_desc[1];

您甚至可以将代码缩短为

for (int k1 = 0; k1 < 5; k1++) {
    String line1 = description.readLine().trim();
    desc[k1] = line1.split(delims_desc);
}



这些不是相等的字符串。

这可能是一个大小写问题,在这种情况下使用
equalsIgnoreCase
,或者您没有您认为需要进行的输入。在任何情况下,运行调试器。您很快就会知道。第1行末尾的换行符?为什么是数组,为什么不是
Map
?打印所有值时会发生什么?它们是atch你期望什么?这可能是一个case问题,在这种情况下使用
equalsIgnoreCase
,或者你没有你认为你在做的输入。在任何情况下,运行一个调试器。你很快就会知道。换行符在第1行的末尾?为什么是数组,为什么不是
Map
?当你打印所有的值时会发生什么?它们是否与你的输出相匹配ct?谢谢你的解决方案。因为两个单词之间没有空格,所以它已经被删掉了。@VTT:正如我在回答中所说的:多余的空格在这行的末尾。所以你试图比较
“category”
“category”
这两个字符串不相等。对不起,你完全正确。我修复了它,但仍然有问题。@VTT:我发布了你发布的问题的解决方案。我无法进一步帮助你,因为“但仍然有问题”不够具体。感谢您的解决方案。由于两个单词之间没有空格,因此已将其修剪。@VTT:正如我在回答中所说的:多余的空格位于行的末尾。因此您正在尝试将
“category”
“category”进行比较
这些字符串不相等。对不起,你完全正确。我修复了它,但仍然有问题。@VTT:我发布了你发布的问题的解决方案。我无法进一步帮助你,因为“但仍然有问题”不够具体。
"Categorical        " // more than 11 characters