来自另一个Class的get String传递null

时间:2014-02-28 10:04:09

标签: java string

我真的想知道为什么我无法将String从一个类传递到另一个类,因为它是传递null。这是我的结构:

public class A {

    String myString;

    public A(){
    }

    public String getMyString(){
        return myString;
    }

    public void setMyString(String myString){
        this.myString = myString;
    }

    public void doSomethin(){
        String testString = "TEST";
        setMyString(testString);
    }

}

这是我的B级结构:

public class B {

    A myclassA;

    public B(){
        myClassA = new A();
        createPieModel(myClassA.getMyString());
    }

    public void createPieModel(String branch){
        System.out.println(branch); //getting null at this Point
    }

}

为什么我在createPie Model上得到null以及它的方法是什么?

2 个答案:

答案 0 :(得分:4)

你永远不会设置String的值,在使用get方法之前调用doSomethin()方法

答案 1 :(得分:0)

您可以通过两种方式解决此问题。

 public class B{
      A myclassA;
      public B(){
         myClassA = new A();
         myClassA.setMyString("YOUR_MISSED_STRING"); // MISSED_STRING! :)
         createPieModel(myClassA.getMyString());
      }
      public void createPieModel(String branch){
        System.out.println(branch);//getting null at this Point
      }
    }

   public class B{
      A myclassA;
      public B(){
         myClassA = new A();
         myClassA.doSomething(); // missed invokation :)
         createPieModel(myClassA.getMyString());
      }
      public void createPieModel(String branch){
        System.out.println(branch);//getting null at this Point
      }
    }