Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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 Android字符串问题_Java_Android_String_Arraylist - Fatal编程技术网

Java Android字符串问题

Java Android字符串问题,java,android,string,arraylist,Java,Android,String,Arraylist,我的程序在一个活动中生成字符串列表,然后将其传递给另一个活动,第二个活动使用这些字符串 当我在第二个活动开始时打印出列表中的每个元素进行测试时,打印出来的结果看起来非常完美。例如,如果我希望列表中包含“柠檬汁”,它的打印结果完全正确,但第二个活动中的逻辑仍然不起作用。如果我像那样手动将“柠檬汁”添加到列表中,则第二个活动中的逻辑工作正常,因此问题在于接收到的列表中的字符串并非真正的“柠檬汁”。但是: 它准确地打印出来(包括检查前面和后面的空格) 我已经尝试将收到的列表元素显式转换为(String

我的程序在一个活动中生成字符串列表,然后将其传递给另一个活动,第二个活动使用这些字符串

当我在第二个活动开始时打印出列表中的每个元素进行测试时,打印出来的结果看起来非常完美。例如,如果我希望列表中包含
“柠檬汁”
,它的打印结果完全正确,但第二个活动中的逻辑仍然不起作用。如果我像那样手动将
“柠檬汁”
添加到列表中,则第二个活动中的逻辑工作正常,因此问题在于接收到的列表中的字符串并非真正的
“柠檬汁”
。但是:

  • 它准确地打印出来(包括检查前面和后面的空格)
  • 我已经尝试将收到的列表元素显式转换为(String),以确保它们是字符串
  • 如果我运行
    “Lemon Juice”.contains(received String)
    则返回true,如果我运行received
    String.contains(“Lemon Juice”)
    则返回true 返回
    true
    ,但如果我运行received
    String.equals(“柠檬汁”)
    则返回false。这让我很困惑
  • 有人能想出一个可能的解释来解释一些被转换成字符串、打印成字符串、看起来像字符串的东西是如何表现得不像字符串的吗

    按要求编辑以包含一些代码:

    // instance variable at top of class--list to which strings will be added for use in
    // 2nd activity
    private List<String> exs = new ArrayList<String>();
    
    // get array of strings from extra from intent from first activity
    String[] recExs = getIntent().getStringArrayExtra(BrowseActivity.EXS);
    
    for (int exx = 0; exx < recExs.length; exx++) {
    String curEx = (String) recExs[exx];
        exs.add(curEx);
    }
    
    //类顶部的实例变量--将添加字符串以在中使用的列表
    //第二项活动
    private List exs=new ArrayList();
    //从第一个活动的intent中从extra获取字符串数组
    字符串[]recExs=getIntent().getStringArrayExtra(BrowseActivity.EXS);
    for(int-exx=0;exx

    不知何故,当我将exs传递给我需要使用字符串的方法时,它不起作用,尽管如上所述,打印和调用contains等都表明,在我将字符串添加到exs之前,字符串处于我想要的状态

    当您只发布了代码的一小部分时,很难提供帮助


    但我猜原因是
    String.contains
    有效,而
    String.equals
    无效,因为字符串中可能有空格。传递和接收数据时,请尝试
    String.trim

    请发布与您的问题相关的代码片段。这样做对我们来说更容易。我只知道你在对抗字符串…那里不需要你的字符串转换。你能发布使用字符串的方法的代码吗?你能尝试在字符串类的“equals”方法中设置调试点吗?这将帮助您确定两个字符串不匹配的原因