2012-05-04 128 views
0

可能重复:
Is Java pass by reference?是否可以通过引用将变量传递给函数?

我需要修改传递给函数内的函数变量的内容。

该类型是字符串。我想在使用扩展类的PlainDocument的insertString函数时注入一个前面的char。

+1

简答:**否**。 Java从不通过任何引用。它*通过值传递引用,但这不是**。 –

+1

另请参见:http://javadude.com/articles/passbyvalue.htm –

+0

好吧,我该如何修改一个字符串? – HoNgOuRu

回答

4

使用包装类:

public class Wrapper 
{ 
    public String text; 
} 

// ... 

public static void changeString(Wrapper w, String newText) 
{ 
    w.text = newText; 
} 

你可以用它喜欢:

Wrapper w = new Wrapper(); 
w.text = "old text"; 
changeString(w, "new text"); 
System.out.print(w.text); 

OUTPUT:

新文本


也看到这样的回答:https://stackoverflow.com/a/9404727/597657

2

简短的回答是否定的,但通过使用中间对象,你总是可以“模拟”的指针。

相关问题