有的时候代码没有分离开,一个函数需要返回两个有用的结果。这个时候如果不把代码分离,那还有一种做法:就是将需要返回的值作为一个引用类型的参数,在函数中赋值。这样在外部就可以调用了。
通过传引用参数,为引用参数赋值需要注意:引用类型参数赋值不能指向另外一个地址
public class Test { public static void main(String[] args) throws IOException{ List<String> list = new ArrayList<>(); f(list); System.out.println(list.size()); } static void f(List<String> list){ //指向了另外的地址 List<String> tmp = new ArrayList<>(); tmp.add("123"); list = tmp; } }
输出结果为 0
public class Test { public static void main(String[] args) throws IOException{ List<String> list = new ArrayList<>(); f(list); System.out.println(list.size()); } static void f(List<String> list){ //没有指向另外的地址 list.add("123"); } }
输出结果为1