Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';在这种情况下,t String.contains()是否返回true?_Java - Fatal编程技术网

Java 为什么';在这种情况下,t String.contains()是否返回true?

Java 为什么';在这种情况下,t String.contains()是否返回true?,java,Java,ganzeile是一个字符串数组filter是字符串的数组列表 System.out.println(ganzeZeile[26]); System.out.println(filter.get(11)); System.out.println(ganzeZeile[26].contains(filter.get(11))); 但是ganzezile[26]。包含(filter.get(11))返回false “dem Dozenten die Gesamtnote”是否属于“Ich gebe

ganzeile
是一个字符串数组
filter
是字符串的数组列表

System.out.println(ganzeZeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeZeile[26].contains(filter.get(11)));
但是
ganzezile[26]。包含(filter.get(11))
返回
false

“dem Dozenten die Gesamtnote”
是否属于
“Ich gebe der Dozentin/dem Dozenten die Gesamtnote.”
,因此
包含(…)
应返回
true

编辑:

我在testclass中获得了我的代码和来自assylias的testcode,它们都返回不同的值(!)。我看不出代码tbh有什么不同

ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote."
filter.get(11) = "dem Dozenten die Gesamtnote"
import java.util.ArrayList;
导入java.util.List;
公共类test1{
公共静态void main(字符串[]args){
String[]ganzeZeile=新字符串[28];
ArrayList过滤器=新的ArrayList();
ganzeZeile[26]=“我是一个很好的律师/律师。”;
对于(int i=0;i<11;i++){
过滤。添加(“”);
}
添加(“dem Dozenten die Gesamtnote”);
System.out.println(ganzeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeile[26].contains(filter.get(11));//返回false
}
//公共静态void main(字符串[]args){
//String[]ganzeZeile=新字符串[28];
//ArrayList过滤器=新的ArrayList();
//
//ganzeZeile[26]=“我是一个很好的律师/律师。”;
//对于(int i=0;i<11;i++){
//过滤。添加(“”);
//      }
//添加(“dem Dozenten die Gesamtnote”);
//
//System.out.println(ganzeile[26]);
//System.out.println(filter.get(11));
//System.out.println(ganzeile[26].contains(filter.get(11));//prints true
//  }
}
由于我使用的是最新的javaversion(1.7ATM),这可能是该代码表现如此不同的原因


关于

根据您提供的信息,我无法重现这种行为-问题可能在其他地方:

import java.util.ArrayList;
import java.util.List;

public class test1 {

public static void main(String[] args) {
    String[] ganzeZeile = new String[28];
    ArrayList<String> filter = new ArrayList<String>();

    ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
    for (int i = 0; i < 11; i++) {
        filter.add("");
    }
    filter.add("dem Dozenten die Gesamtnote");

    System.out.println(ganzeZeile[26]);
    System.out.println(filter.get(11));
    System.out.println(ganzeZeile[26].contains(filter.get(11)));//returns false
}

//  public static void main(String[] args) {
//      String[] ganzeZeile = new String[28];
//      ArrayList<String> filter = new ArrayList<String>();
//
//      ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
//      for (int i = 0; i < 11; i++) {
//          filter.add("");
//      }
//      filter.add("dem Dozenten die Gesamtnote");
//
//      System.out.println(ganzeZeile[26]);
//      System.out.println(filter.get(11));
//      System.out.println(ganzeZeile[26].contains(filter.get(11))); //prints true
//  }
}
publicstaticvoidmain(String[]args)抛出InterruptedException{
String[]ganzeZeile=新字符串[27];
列表过滤器=新的ArrayList();
ganzeZeile[26]=“我是一个很好的律师/律师。”;
对于(int i=0;i<11;i++){
过滤。添加(“”);
}
添加(“dem Dozenten die Gesamtnote”);
System.out.println(ganzeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeile[26].contains(filter.get(11));//prints true
}

我无法根据您提供的信息再现行为-问题可能在其他地方:

import java.util.ArrayList;
import java.util.List;

public class test1 {

public static void main(String[] args) {
    String[] ganzeZeile = new String[28];
    ArrayList<String> filter = new ArrayList<String>();

    ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
    for (int i = 0; i < 11; i++) {
        filter.add("");
    }
    filter.add("dem Dozenten die Gesamtnote");

    System.out.println(ganzeZeile[26]);
    System.out.println(filter.get(11));
    System.out.println(ganzeZeile[26].contains(filter.get(11)));//returns false
}

//  public static void main(String[] args) {
//      String[] ganzeZeile = new String[28];
//      ArrayList<String> filter = new ArrayList<String>();
//
//      ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
//      for (int i = 0; i < 11; i++) {
//          filter.add("");
//      }
//      filter.add("dem Dozenten die Gesamtnote");
//
//      System.out.println(ganzeZeile[26]);
//      System.out.println(filter.get(11));
//      System.out.println(ganzeZeile[26].contains(filter.get(11))); //prints true
//  }
}
publicstaticvoidmain(String[]args)抛出InterruptedException{
String[]ganzeZeile=新字符串[27];
列表过滤器=新的ArrayList();
ganzeZeile[26]=“我是一个很好的律师/律师。”;
对于(int i=0;i<11;i++){
过滤。添加(“”);
}
添加(“dem Dozenten die Gesamtnote”);
System.out.println(ganzeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeile[26].contains(filter.get(11));//prints true
}

您的意思是Ganzezile是字符串[],而filter是数组列表吗?它可能有助于向我们展示这些变量的声明。无法复制,对我来说工作正常。您是否已使用调试器验证或记录26和11确实包含您所期望的内容?@AHungerArtist是的,我使用调试器进行了检查。如果我发现可疑,我会检查两次。thxeither
filter.get(11)
在第一次和第二次调用时返回不同的值,或者这些字符串略有不同。比如在筛选器字符串的末尾添加一个空格。您的意思是ganzeZeile是字符串[],而筛选器是数组列表吗?它可能有助于向我们展示这些变量的声明。无法复制,对我来说工作正常。您是否已使用调试器验证或记录26和11确实包含您所期望的内容?@AHungerArtist是的,我使用调试器进行了检查。如果我发现可疑,我会检查两次。thxeither
filter.get(11)
在第一次和第二次调用时返回不同的值,或者这些字符串略有不同。比如在过滤器字符串的末尾添加一个空格。嗯,很有趣!我应该自己在干净的环境中测试代码(没想到我的代码会导致一个简单的字符串比较)。我测试了你的代码,结果如前所述是真的。我重写了代码,没有任何改动,结果是错误的。wtf与我的eclipse Oo错误…嗯,有趣!我应该自己在干净的环境中测试代码(没想到我的代码会导致一个简单的字符串比较)。我测试了你的代码,结果如前所述是真的。我重写了代码,没有任何改动,结果是错误的。wtf与我的eclipse Oo错误。。。