-1

私は1つのパッケージにゲッターとセッターを持っています。別のパッケージにあるクラスに値を設定していて、別のパッケージにあるクラスから値を取得しようとしています。しかし、値がゼロになっています。その問題を解決してください。

    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");
}

}

3番目のパッケージでは、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
4

2 に答える 2

4

問題は、2 つの別個のオブジェクト と があること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
于 2013-03-02T11:52:49.710 に答える
1

@NPEが言ったことを参照すると、問題は2つの異なるオブジェクトを管理していることです。

これは、あなたが探していることを行うための可能な方法です...

変更:

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();
于 2013-03-02T11:58:02.960 に答える