我有一个场景,我必须根据参数中传递的值返回值。这是我的代码。
package p_java_works;
public class city_if {
public String a, b, c, d, z;
String Method1(String aa, String bb, String cc) {
a = aa;
b = bb;
c = cc;
d = "USA";
if (c == d) {
return a;
} else {
return null;
}
}
public static void main(String[] args) {
city_if x = new city_if();
String t = x.Method1("chris", "NY", "USA");
city_if y = new city_if();
String t1 = y.Method1("neil", "LND", "UK");
System.out.println(t);
System.out.println(t1);
}
}
输出: 克里斯 空
输出返回NULL。我应该只获得来自美国的另一条记录,即英国不应该在输出屏幕上返回。提前谢谢。
答案 0 :(得分:4)
当您使用==
方法时,您正在将字符串与.equals()
运算符进行比较。
c
只有在内存中引用相同的字符串时才会等于cc
。