Android字符串不等于

问题描述

| 我是Java和Android的新手,所以我相信这将是一个简单的问题/答案。我知道要找出一个字符串是否等于另一个字符串,可以使用equal函数。在我的情况下,我正在扫描QR码,扫描结果类似于\“ EMPLOYEE ~~ John Smith ~~ DIVISION ~~ Maintenance \”。我需要知道如何执行以下操作:
String contents = intent.getStringExtra(\"SCAN_RESULT\");
// I kNow that \"contents\" contains the string \" EMPLOYEE~~John Smith~~DIVISION~~Maintenance\"

String[] myJunk = contents.split(\"~~\");
// This should split everything up into an array named myJunk (right)?

String val1 = myJunk[0];
// Now val1 Should be equal to \"EMPLOYEE\"

if (myJunk[0].equals(val1)){
    // Do Something
}
在示例Java代码中,myJunk [0]从不等于val1。我究竟做错了什么?     

解决方法

我已经尝试过了,并且可以工作,所以尝试显示content变量,可能问题出在附加功能中,尝试在logCat中显示它:
String contents = \"EMPLOYEE~~John Smith~~DIVISION~~Maintenance\";
 String[] myJunk = contents.split(\"~~\");
 // This should split everything up into an array named myJunk (right)?

 String val1 = myJunk[0];
 Toast.makeText(this,\"val1 = \"+val1,Toast.LENGTH_LONG).show();
 Toast.makeText(this,\"val2 = \"+myJunk[1],Toast.LENGTH_LONG).show();
 // Now val1 Should be equal to \"EMPLOYEE\"

 if (myJunk[0].equals(val1)){
     Toast.makeText(this,\"equals\",Toast.LENGTH_LONG).show();
 }
    ,您的字符串是:
EMPLOYEE~~John Smith~~DIVISION~~Maintenance
因此,拆分后,myJunk [0]将包含
EMPLOYEE
(请注意单词EMPLOYEE前面的空格)。 因此,在进行比较之前,您需要调整值     ,我通常使用的方法是在有疑问时打印出我的变量。因此,如果您不确定问题出在哪里,可以尝试执行以下操作。 (它要求您能够看到输出,例如在logcat中)
String contents = intent.getStringExtra(\"SCAN_RESULT\"); 
// I know that \"contents\" contains the string \" EMPLOYEE~~John Smith~~DIVISION~~Maintenance\"
System.out.println(\"contents is \"+contents );

String[] myJunk = contents.split(\"~~\"); 
// This should split everything up into an array named myJunk (right)?
System.out.println(\"Array size is \"+myJunk.length);

String val1 = myJunk[0]; 
// Now val1 Should be equal to \"EMPLOYEE\"

for(int i=0; i < myJunk.length; i++) {
  System.out.println(\"String \"+i+ \"in array is: \"+myJunk[i]);
}
//Here i run through the array and print every element.

if (myJunk[0].equals(val1)){     
// Do Something 
} 
这有点矫kill过正,但这主要是为了显示一种获取问题所需的所有信息的方法:)     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...