java方法强制传递引用参数(做为返回值),改变被传递参数值。

     Java传递参数分为2种:

  • 值类型,Java里面也叫简单类型,这种参数类型的传递的是它的副本拷贝;
  • 引用类型,传递的是对象引用地址,如果在方法内改变该参数对象属性即是对原引用对象的改变;如果不想这样传递可传递 对象.clone() 即传递的是该对象的副本拷贝;

    那么,如果我想传递简单参数类型,但是我又想在方法内能改变原参数的值那如果传递呢?比如说一个方法是返回List集合但是我还需要传递一个总记录条数和 总页面的参数,在该方法内进行赋值。Java内传递值还是引用类型还有一条规定,所有数组参数都是引用传递,即传递的是原地址,一旦改变数组参数值原引用 数组值也回相应的改变,这样便能在一个有返回值的方法里还返回总记录条数和页数。

    举个例子:

 
/--------------------------Java代码------------------------------------------------------------/
  1. public List<Product> GetProductList(int categoryid,int pageindex,int pagesize,int[] args)  
  2.     {  
  3.         List<Product> list = new ArrayList<Product>();  
  4.         args[0] = 100;  
  5.                                 args[1] = 101;  
  6.         return list;  
  7.     }  
  8.   
  9. //调用  
  10. int cid = 0,pageindex =1,pagesize = 10 ,recordcount = 0,pagecount = 0;  
  11. int[] args = new int[]{recordcount,pagecount};  
  12. plist = GetProductList(cid,pageindex,pagesize,args);  
  13. recordcount = args[0];  
  14. pagecount = args[1];  
  15. System.out.println("总记录数:"+recordcount);  
  16. System.out.println("总页数:"+pagecount);  

 这里结果将会输出 总记录数:100 总页数:101

原文地址:https://www.cnblogs.com/ybbky/p/3314622.html