有些时候,我们需要从一个方法中返回多个值。那么在Java中该怎么实现呢?
在Java中,你无法控制参数传递的方式,Java中所有的参数传递都是按值传递:?
- 简单类型,将参数的值传递给函数;?
- 对象类型,将参数的地址传递给函数。?
正因为传递对象类型参数时,你传递的是对象的地址,或者叫引用(reference),这时函数就可以改变该地址上的那个对象。所以,如果你要修改某个地址上的值(或者说,要向这个地址返回一个值),那么将它按对象类型传递都可以了。但需要注意的是,Java不能让这个传递给函数的参数指向另一个地址,原因是,参数的地址是复制给函数中的局部变量的,函数一结束,它就不复存在。
与C++不同的是:在Java中,可以安全地返回局部变量的引用(地址),而不用担心生存期的问题。这样,“返回多个值”的问题,在Java中变得更简单了,只需要用一个类来封装要返回的多个值,然后返回该类的实例。?