通过java中的getter获取0值

时间:2013-03-02 11:51:38

标签: java java-ee

我在一个包中有我的吸气剂和制定者 我正在一个不同包中的类中设置值 而我正试图从类中获取值,这些值又在单独的包中。 但是我得到零值,请帮我解决这个问题。

    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

2 个答案:

答案 0 :(得分:4)

问题是您有两个单独的对象St.EPEP。你改变一个,然后检查另一个:

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();