Android Strings问题

时间:2013-12-21 19:07:16

标签: java android string arraylist

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

当我通过在第二个活动开始时打印出列表中的每个元素进行测试时,打印输出看起来很完美。例如,如果我希望列表包含"Lemon Juice",它会打印出完全正确的,但是第二个活动中的逻辑仍然不起作用。如果我手动将"Lemon Juice"添加到列表中,第二个活动中的逻辑工作正常,那么问题是收到的List中的字符串不是真的"Lemon Juice"。但是:

  1. 它打印得非常正确(包括检查前面和后面的空格)。
  2. 我已经尝试将收到的列表元素显式地转换为(String),以确保它们是字符串。
  3. 如果我运行"Lemon Juice".contains(received String)它会回来,如果我运行收到String.contains("Lemon Juice")它 回来true,但是如果我收到String.equals("Lemon Juice"),它就会返回false。这让我非常困惑。
  4. 任何人都可以想到一个可能的解释,如何将某些内容转换为字符串,打印为字符串,看起来像一个字符串,是不是像字符串一样?

    编辑以包含一些代码:

    // 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);
    }
    

    不知何故,当我将exs传递给方法时我需要使用字符串,它不起作用,即使如上所述,打印和调用包含等都显示字符串,在我将它添加到exs之前,是在我希望它是。

1 个答案:

答案 0 :(得分:1)

当您只发布一小段代码时,很难提供帮助。

但是我猜测String.contains有效的原因,但String.equals并不是说可能在字符串中有空格。在传递和接收数据时,请在活动的两侧尝试String.trim