我是Java /编程的新手,我试图编写一个简单的程序,从列表中获取元素,如果该元素等于某些用户输入。我使用for循环和if语句来实现这一点,但即使用户输入和元素匹配,编程也不会将元素打印到屏幕上。如果有人能解释为什么这不起作用,我将非常感激。干杯
event.preventDefault();
答案 0 :(得分:1)
你走了:
if (tempObject.equals(findName)){
System.out.print("\n" + tempObject);
}
对于String
所使用的对象,始终使用方法equals()
,因为==
将比较引用,而不是值(或equals()
方法中设置的内容 - 在字符串中,它会比较大小,然后比较同一个地方的每个char
- 如果你需要的话,你也有一个名为equalsIgnoreCase
的方法 - 有时,最好将它用于用户输入)。
对于基元,您必须使用==
。
答案 1 :(得分:0)
你应该使用String equals来比较两个字符串的相等性,而不是仅仅比较引用的运算符==
。
尝试if语句:
if (tempObject.equals(findName)){...}
答案 2 :(得分:0)
平等和身份之间存在差异,在上面的代码中你使用了身份而不是相等,如果你改变你的代码(使用相等),你将得到你需要的东西
if (tempObject.equal(findName)){
System.out.print("\n" + tempObject);
}