我是Java的新手,我必须将C/C++代码转换为Java,我遇到了障碍.由于变量传递给方法的方式,它们在方法中的修改并不简单,我不知道什么是最合理的方法.对于伪代码示例感到抱歉,我希望他们能够清楚地解释我在谈论的内容,而不必深入研究不必要的细节.
我需要一些与C相当的东西
ModifyMyString(type1 &t1,type2 &t2);
Run Code Online (Sandbox Code Playgroud)
(返回类型没关系,它可以是无效的)因为我需要函数来修改t1和t2.
我可以通过在Java中声明来轻松修改其中一个变量,比如说t1
type1 modifyMyString(type1 t1, type2 t2);
Run Code Online (Sandbox Code Playgroud)
并将返回的值分配给
t1 = modifyMyString(t1,t2);
Run Code Online (Sandbox Code Playgroud)
但它只是成功的一半,因为t2的新值丢失了.
我可以宣布新课程
class JustToPassTwoVariables {
type1 t1;
type2 t2;
JustToPassTwoVariables(type1 tt1, type2 tt2) { t1 = tt1; t2 = tt2; }
}
Run Code Online (Sandbox Code Playgroud)
并做一些类似的事情
JustToPassTwoVariables jtptv = modifyMyString(JustToPassTwoVariables(t1,t2));
Run Code Online (Sandbox Code Playgroud)
但我觉得它很笨拙,使代码难以理解.
在绝望中我也可以放弃使用modifyMyString方法的想法,并在每个我称之为modifyMyString的地方重复本地代码 - 但它比使用JustToPassTwoVariables类更没意义.
是否有正确的(或至少广泛使用的,被接受的标准,无论如何)策略来编写Java中的这些东西?