当我读取mysql的BD时,我尝试将用户的字符串(用户和密码)输入与BD的日期进行比较。 但是,如果我把==从不说我是平等的。
我有一个可变框:
package clases;
import bdMySQL.BDUsuarios;
public class Usuarios {
private String Usuario;
private String Password;
private String Rol;
public Usuarios( String i, String n, String rol ){
this.Usuario = i;
this.Password = n;
this.Rol = rol;
}
public String getUsuario() {
return Usuario;
}
public String getRol(String Usuario, String Password) {
if (Usuario == this.Usuario && Password == this.Password){
return this.Rol;
}else{
return "";
}
}
}
BD的咨询是正确的。
当我在主程序中吃午饭时:
public class PruebaMySQLActivity extends Activity {
public List<Usuarios> Usuarios;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button btnConectar = (Button)findViewById(R.id.btnConectar);
final TextView txtMensaje = (TextView)findViewById(R.id.txtMensaje);
btnConectar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0)
{
Usuarios = BDUsuarios.getDatosUsuarios();
String rol = "";
String Usuario = "miuser";
String Pasw = "mipasw";
int i = 1;
while (i < Usuarios.size() && rol == ""){
//Toast t=Toast.makeText(getBaseContext(),String.valueOf(i) + " " + familias.get(i).getUsuario() + " " + familias.get(i).getPassword() + " " + familias.get(i).getrol2() , Toast.LENGTH_LONG);
//t.show();
rol = Usuarios.get(i).getRol(Usuario, Pasw);
i= i + 1;
}
txtMensaje.setText(rol);
}
});
}
}
toast向我展示了所有数据,但是当我尝试做“==”未找到时。 我试着:
Usuario.equals(this.Usuario)
但未找到。
感谢您的帮助。
答案 0 :(得分:0)
为了比较两个字符串,您可以使用equals()或equalsorIgnore()methods.E.g。
if(s1.equals(s2))
{
}
而不是
if(s1==s2)
{
}