Android Strings问题

use*_*666 6 java string android arraylist

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

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

  1. 它打印得完全正确(包括检查前面和后面的空格).
  2. 我已经尝试将接收到的列表元素显式地转换为(String),以确保它们是字符串.
  3. 如果我运行"Lemon Juice".contains(received String)它返回true,如果我运行收到String.contains("Lemon Juice")它返回true,但如果我运行收到String.equals("Lemon Juice")它返回错误.这对我来说非常困惑.

任何人都可以想到一个可能的解释,如何将某些东西作为一个字符串,打印成一个字符串,看起来像一个字符串,是不是像字符串一样?

编辑以包含一些代码:

// 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);
}
Run Code Online (Sandbox Code Playgroud)

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

Wes*_*ley 1

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

但我猜原因是String.contains有效但String.equals无效的原因是字符串中可能有空间。String.trim在传递和接收数据时在 Activity 的两侧尝试。