zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    BZOJ4923 K小值查询(splay)
    BZOJ4919 大根堆(动态规划+treap+启发式合并)
    BZOJ4922 Karp-de-Chant Number(贪心+动态规划)
    BZOJ4915 简单的数字题
    BZOJ4921 互质序列
    BZOJ4898/5367 Apio2017商旅(分数规划+floyd)
    BZOJ4899 记忆的轮廓(概率期望+动态规划+决策单调性)
    Educational Codeforces Round 55 Div. 2 翻车记
    166. Fraction to Recurring Decimal
    390. Elimination Game
  • 原文地址:https://www.cnblogs.com/ybbky/p/3314622.html
Copyright © 2011-2022 走看看