任何人都可以请解释为什么实例变量'root'为空?为什么实例变量在下例中为空
public class Test{
String root;
public void assignRoot(){
baseAssignment(root);
}
public void baseAssignment(String root){
if(root == null){
System.out.println("root:"+root);
root = "assigned!";
return;
}
}
public String toString(){
return root;
}
public static void main(String args[]){
Test t = new Test();
t.assignRoot();
System.out.println(t);
}
}
我的输出是:
root:null
null
但我期待
root:null
assigned!
尝试从根目录重命名参数名称。神奇地看到它的工作;) –
我不认为这是一个传递引用与传递值的问题。这是一个范围问题。 –
@ cricket_007我们的目标不是为了让事情顺利进行,而是为了解决技术上的问题,为什么某些事情可行或不行。 – cyroxis