Java Android字符串问题
我的程序在一个活动中生成字符串列表,然后将其传递给另一个活动,第二个活动使用这些字符串 当我在第二个活动开始时打印出列表中的每个元素进行测试时,打印出来的结果看起来非常完美。例如,如果我希望列表中包含Java Android字符串问题,java,android,string,arraylist,Java,Android,String,Arraylist,我的程序在一个活动中生成字符串列表,然后将其传递给另一个活动,第二个活动使用这些字符串 当我在第二个活动开始时打印出列表中的每个元素进行测试时,打印出来的结果看起来非常完美。例如,如果我希望列表中包含“柠檬汁”,它的打印结果完全正确,但第二个活动中的逻辑仍然不起作用。如果我像那样手动将“柠檬汁”添加到列表中,则第二个活动中的逻辑工作正常,因此问题在于接收到的列表中的字符串并非真正的“柠檬汁”。但是: 它准确地打印出来(包括检查前面和后面的空格) 我已经尝试将收到的列表元素显式转换为(String
“柠檬汁”
,它的打印结果完全正确,但第二个活动中的逻辑仍然不起作用。如果我像那样手动将“柠檬汁”
添加到列表中,则第二个活动中的逻辑工作正常,因此问题在于接收到的列表中的字符串并非真正的“柠檬汁”
。但是:
“Lemon Juice”.contains(received String)
则返回true,如果我运行receivedString.contains(“Lemon Juice”)
则返回true
返回true
,但如果我运行receivedString.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”方法中设置调试点吗?这将帮助您确定两个字符串不匹配的原因