通常是if语句:if(variable==60) {system.out.println("60");}
但我想测试variable
是否与单词完全匹配。
例如,用户输入一个文本框'hello'如何创建if语句,说明用户是否输入'hello'system.out.println ....?
答案 0 :(得分:7)
您需要equals方法:
if ("hello".equals(variable)) {
请注意,还有一个equalsIgnoreCase方法,如果用户可以输入“Hello”而不是“hello”,这可能很有用。
首先使用“hello”进行测试通常是一个好主意,这样如果变量为null,则不会得到NullPointerException
。如果variable为null,则if返回false。
答案 1 :(得分:3)
许多人通常会对此感到困惑,因为他们尝试在字符串(对象)上使用==
,并收到意外结果。您必须使用if ("hello".equals(var)) {...}
。请记住,equals
方法适用于对象,==
通常用于基元。
答案 2 :(得分:0)
这是一个明显的例子:
String pool1 = "funny";
String pool2 = "funny";
String not_pooled = new String("funny");
System.out.println("pool1 equals pool2 ? "+(pool1==pool2)); //Equal because they point to same pooled instance
System.out.println("pool1 equals not_pooled ? "+(pool1==not_pooled)); //Not equal because 'not_pooled' not pooled.
System.out.println("pool1 equals not_pooled ? " +(pool1.equals(not_pooled))); //Equal because the contents of the object is checked and not the reference
输出:
pool1等于pool2?真
pool1等于not_pooled?假
pool1等于not_pooled?真