【发布时间】:2013-01-15 02:11:11
【问题描述】:
我正在用 Java 编写一个方法,我想模拟引用。由于 java 没有 C# 中的 out 关键字,也没有 C++ 中的引用/指针,我想知道我是否可以使用反射来模拟它。
一个例子是:
public static boolean ChangeValue(Object Input, Object Output) {
//Use some reflection here to change the value of Output?
return true;
}
然后在主目录中:
public static void main(String[] args) {
int I = 0;
ChangeValue(I, I);
System.out.println(I);
}
所以.. 我可以使用反射来更改传递给我的 ChangeValue 方法的任何参数的值吗?我不想返回 Composite 对象..
【问题讨论】:
-
如果你坚持使用这种模式,你最好实现一个简单的
Out<T>容器类。 -
^是的,它确实可以编译。你可以试试看。对象是一个多态类。任何东西都可以作为对象传递,包括原语。
-
你说得对,我的立场是正确的。