我正在尝试检查以确保设备使用java设置MAC地址 - 但是我在执行检查时遇到问题。我试图使用以下内容:
if (MAC == "00:00:00:00:00:00"){
AlertDialog.Builder builder = new AlertDialog.Builder(ActivityMain.this);
builder.setMessage("You Have No MAC Address!")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
}
但是条件永远不会满足 - 即使MAC的值设置为00:00:00:00:00:00。
我认为这可能是我与两个值进行比较的方式。所以我试过这个:
if (MAC = "00:00:00:00:00:00"){
AlertDialog.Builder builder = new AlertDialog.Builder(ActivityMain.this);
builder.setMessage("You Have No MAC Address!")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
}
但我最终得到错误:类型不匹配无法从String转换为布尔值。
我的问题是:解决此问题的最佳方法是什么?
答案 0 :(得分:1)
绝不要将字符串与==进行比较。请改用.equals()。
答案 1 :(得分:0)
使用equals()方法并检查,您将获得正确的结果。
访问what is the difference between == operator and equals()? (with hashcode() ???)以充分了解差异。