如何使用输入来获取列表中的特定元素?

时间:2016-06-07 07:19:58

标签: java if-statement for-loop arraylist user-input

我是Java /编程的新手,我试图编写一个简单的程序,从列表中获取元素,如果该元素等于某些用户输入。我使用for循环和if语句来实现这一点,但即使用户输入和元素匹配,编程也不会将元素打印到屏幕上。如果有人能解释为什么这不起作用,我将非常感激。干杯

event.preventDefault();

3 个答案:

答案 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);
}