繁体   English   中英

如果声明奇怪地不能正常工作......无法弄明白

[英]If statement oddly not working properly…can't figure it out

所以这是一个愚蠢的问题,但由于某些原因,这对我不起作用。 这是我正在尝试做的一个小程序的一小部分,我正在调试但是一个简单的if语句由于某种原因不起作用。 这是以下代码:

System.out.println("Enter a command (Enqueue, Dequeue, or Quit): ");
String expr = input.next();
System.out.println(expr);
if (expr=="Enqueue") {
   System.out.println("Enqueue");}

所以它应该只是抓取输入,如果我在提示符中键入Enqueue,它应该打印出来。 问题是它没有这样做。 当我检查变量expr的值时,它确实显示为字符串Enqueue但它不会进入并打印它.....奇数。 我不知道有什么蠢事吗?

你要

if (expr.equals("Enqueue")) {

==与字符串一起使用是不安全的。 该运算符比较两个引用的相等性,只有当两个引用指向同一个实例时才会为true。 在这种情况下,您有两个具有相同值的不同实例。 要进行值比较,我们使用.equals()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM