Java 基于传递给对象的参数获取值
我有一个场景,我必须根据传入参数的值返回值。这是我的密码Java 基于传递给对象的参数获取值,java,arrays,core,Java,Arrays,Core,我有一个场景,我必须根据传入参数的值返回值。这是我的密码 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) {
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。我应该只得到来自美国的记录,这里的其他记录,即英国,不应该在输出屏幕上返回。提前感谢。当您应该使用
.equals()
方法时,您正在将字符串与=
运算符进行比较
c
仅当它们引用内存中的同一字符串时才会等于cc
。即使使用.equals,我也希望代码返回传递的名称。因此,对于不相等的记录,它获取一个null并返回它,这在输出中是不需要的。我只是希望成员来自美国。那么你要么需要重组你的代码来实现这个@kannanaradhakrishnan,要么问另一个关于这个问题的问题。为什么你认为不应该打印null?如果t1
为空,那么在执行System.out.println(t1)时会发生什么;只是一个旁注:您应该真正了解代码样式约定/实践。是的,我不知道在其他部分给出什么。也就是说,y将some值设为null。请为我的代码提供警报解决方案。