我正在努力将一些代码从VisualBasic转换为Java,并且在VB中使用ByRef关键字时遇到了麻烦.这在Java中不存在!
我应该如何在Java中模拟ByRef调用?
编辑:为了澄清那些不了解VB的人,ByRef在调用一个函数后在括号中标识一个变量并使其成为当该变量在函数内部发生变化时,它也会在调用它的位置变高.而不是ByVal,只记住变量的值.更改方法中的ByVal变量不会影响调用它的变量.
你不能.Java中的所有内容都是按值传递的,包括对象引用.但是,您可以创建一个"holder"对象,并在方法中修改其值.
public class Holder<T> {
T value;
public Holder(T value) {
this.value = value;
}
// getter/setter
}
public void method(Holder<Foo> foo) {
foo.setValue(something);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11291 次 |
| 最近记录: |