android 错误之==和equals

今天在做项目时,用 == 来比较,结果无一列外返回的值都是false,没有出现我想要的结果,

后去查找资料发现equals可以正确的进行比较。

于是在这列出这二者的区别

在Java中除基本数据类型外其他一切都是对象,而对象变量存储的都是引用,相当于C++的指针,所有在比较对象时,如String,用==比较两个变量是否指向同一个对象,而equals

才是比较两个String的内容是否相等。也就是说在比较基本数据类型外,==是比较内存中的地址、是对象的句柄,而equals比较的是地址内的内容、是对象


以下是一个简单的 Android Studio 登录页面和跳转代码的示例: 首先,创建一个新的 Activity(例如 LoginActivity),并在布局文件中添加用户名和密码输入框,以及登录按钮: ``` <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username"/> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="Password"/> <Button android:id="@+id/login_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Login"/> ``` 接下来,在 LoginActivity 中编写登录逻辑代码: ``` public class LoginActivity extends AppCompatActivity { private EditText usernameEditText; private EditText passwordEditText; private Button loginButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); usernameEditText = findViewById(R.id.username); passwordEditText = findViewById(R.id.password); loginButton = findViewById(R.id.login_button); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); // 在这里编写登录逻辑,例如验证输入的用户名和密码是否正确 if (username.equals("admin") && password.equals("123456")) { // 登录成功,跳转到另一个 Activity Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); finish(); // 关闭当前 Activity } else { // 登录失败,显示错误提示信息 Toast.makeText(LoginActivity.this, "Invalid username or password", Toast.LENGTH_SHORT).show(); } } }); } } ``` 在上面的代码中,我们通过 findViewById() 方法获取输入框和按钮的实例,并将 OnClickListener 添加到登录按钮上。当用户点击登录按钮时,我们会获取输入框中的用户名和密码,并将它们与预定义的用户名和密码进行比较。如果验证成功,则会创建一个新的 Intent 对象,并使用 startActivity() 方法跳转到另一个 Activity(例如 MainActivity)。如果验证失败,则会显示一个错误提示信息。 最后,在 AndroidManifest.xml 文件中注册 LoginActivity: ``` <application ... <activity android:name=".LoginActivity"/> <activity android:name=".MainActivity"/> ... </application> ``` 这样,你就可以在应用程序中实现一个简单的登录页面和跳转功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值