Android 如何检测字符串是否等于某个值?
如何检测我的字符串文本是否不等于null?我试过这个,但不起作用。它总是执行其余的代码并显示对话框-Android 如何检测字符串是否等于某个值?,android,string,Android,String,如何检测我的字符串文本是否不等于null?我试过这个,但不起作用。它总是执行其余的代码并显示对话框- if (!text.equals("null")) { AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("BROADCAST").setMessage(text).create(); alertDialog.getWindow().setType(
if (!text.equals("null")) {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
} else {
// don't show
}
PS:我不想检查我的字符串是否为空。我说的是NULL,它是存储在我的字符串中的文本,您可以使用:
if(text != null) {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
}
或检查空字符串:
if(!text.equals("") {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
}
或两者兼而有之:
if(text != null && !text.equals("") {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
}
编辑:如果您试图检查字符串是否等于单词null,那么您的原始代码看起来很好。我建议使用调试器或打印一些日志语句来检查发生了什么
因此:
但实际上,这只是测试你没有犯错误。此外,我建议不要使用null来表示空字符串。这可能会让其他查看代码的人感到困惑。请坚持使用更标准的字符串。按原样,您的代码当前正在检查字符串是否等于空字符串。如果要查看字符串对象本身是否为null或不存在,请考虑:
if (text != null) {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
} else {
// don't show
}
if语句的可能重复项是检查文本是否等于字符串null。如果要检查String对象是否为null,请查看@MichaelVescovo的第一个示例。是否要检查文本是否为空或字符串是否为null?你的代码对以后的情况似乎是正确的。你懂礼貌吗?当我发布链接时,PS不在那里,其他人也认为你的意思是其他的,包括根据同样的东西写了完整答案的人。如果你说字符串为空,那就更清楚了,所以我们知道这不仅仅是初学者的错误。在这里请有礼貌。如果你做不到这一点,可以去其他地方寻求免费帮助来解决你的问题。不要怪我,因为一个有1个代表和上下文之外代码的用户似乎犯了一个新手错误。写出更清晰的问题。使用.equalstext,这样零可能性就不会影响你了。编辑:无需担心。你改了,那不会编译的。如果文本是字符串,则无法执行此操作,因为文本是一个字符串,并且需要为保护设置一个布尔值@MichaelVescovo用iftext回答=无效。@Fodder谢谢!我最近一直在用Python编程。我不确定它是否可以用Java编译。我已经编辑了我的答案。@Arcaeic检查我答案中的粗体文本question@joey在这种情况下,您提供的代码应该可以工作。我们首先不知道文本是如何被赋值为null的,这使得您很难解决问题。在进入if语句之前,请执行System.out.printlntext;并检查文本的值是否符合您的要求。我将与toast一起尝试
if (text != null) {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("BROADCAST").setMessage(text).create();
alertDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.show();
} else {
// don't show
}