我真的想知道为什么我无法将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以及它的方法是什么?
答案 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
}
}