我在一个包中有我的吸气剂和制定者 我正在一个不同包中的类中设置值 而我正试图从类中获取值,这些值又在单独的包中。 但是我得到零值,请帮我解决这个问题。
package com.company.pojo;
public class ExamplePojo {
private int x;
private int y;
private int z;
private String a;
private String b;
private String c;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
public String getC() {
return c;
}
public void setC(String c) {
this.c = c;
}
}
我设置值的另一个包是
package com.company.function;
import com.company.pojo.ExamplePojo;
public class SetValue {
ExamplePojo EP = null;
public void setValue(){
EP = new ExamplePojo();
EP.setX(10);
EP.setY(20);
EP.setZ(30);
EP.setC("Saurabh");
EP.setA("mahaesh");
EP.setB("Kanni");
}
}
并且在第三个包中我试图通过getters获取值,它返回给我0。
package com.company.Execute;
import com.company.function.SetValue;
import com.company.pojo.ExamplePojo;
public class Main {
public static void main(String[] args) {
SetValue St = new SetValue();
St.setValue();
ExamplePojo EP = new ExamplePojo();
System.out.println(EP.getX());
System.out.println(EP.getY());
System.out.println(EP.getZ());
System.out.println(EP.getA());
System.out.println(EP.getB());
System.out.println(EP.getC());
}
}
输出
0
0
0
null
null
null
答案 0 :(得分:4)
问题是您有两个单独的对象St.EP
和EP
。你改变一个,然后检查另一个:
SetValue St = new SetValue(); //
St.setValue(); // this changes St.EP
ExamplePojo EP = new ExamplePojo(); //
System.out.println(EP.getX()); // this examines EP
答案 1 :(得分:1)
参考@NPE所说的,你的问题是你管理着两个不同的对象。
这是一种可能的方法来做你想要的......
修改:
package com.company.function;
import com.company.pojo.ExamplePojo;
public class SetValue {
public ExamplePojo setValue(){
ExamplePojo EP = new ExamplePojo();
EP.setX(10);
EP.setY(20);
EP.setZ(30);
EP.setC("Saurabh");
EP.setA("mahaesh");
EP.setB("Kanni");
return EP;
}
}
变化:
SetValue St = new SetValue();
ExamplePojo EP = St.setValue();