==
到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals()
,并修复了该错误.
是==
坏?什么时候应该不应该使用它?有什么不同?
此代码将字符串分隔为标记并将它们存储在字符串数组中,然后将变量与第一个主页进行比较...为什么它不起作用?
public static void main(String...aArguments) throws IOException {
String usuario = "Jorman";
String password = "14988611";
String strDatos = "Jorman 14988611";
StringTokenizer tokens = new StringTokenizer(strDatos, " ");
int nDatos = tokens.countTokens();
String[] datos = new String[nDatos];
int i = 0;
while (tokens.hasMoreTokens()) {
String str = tokens.nextToken();
datos[i] = str;
i++;
}
//System.out.println (usuario);
if ((datos[0] == usuario)) {
System.out.println("WORKING");
}
}
Run Code Online (Sandbox Code Playgroud) 我试图从edittext框中获取值,并且在单击按钮时,我想比较edittext框内的文本是否与某个值匹配.如果是,则应调用新意图.如果不是,则应显示错误.单击按钮后,这是我的代码...
if(v.getId() == R.id.button1){
id = et1.getText().toString();
Toast toast = Toast.makeText(this, "Value of id is: " + id, Toast.LENGTH_SHORT);
toast.show();
if(id == "abc"){
Intent i= new Intent(Slogin.this, Sales.class);
startActivity(i);
}else{
Toast toast = Toast.makeText(this, "Wrong id pass", Toast.LENGTH_SHORT);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,即使我输入"abc"(没有双逗号),它仍然显示错误"错误的id传递".虽然Toast清楚地表明我已输入abd并且字符串id现在保持值"abc".需要帮助......