Java方法强制传递引用参数(做为返回值),改变被传递参数值。
来源:互联网 发布:java 将文本写入jsp 编辑:程序博客网 时间:2024/06/01 16:01
from:http://jonllen.javaeye.com/blog/370501
今天在Jsp页面内调用方法的时候碰到了一个问题,是一个服务器端分页的方法,本身是返回List集合的,但是还需要返回总记录数和总页面,没办法返回,想到Java内方法的传值传引用类型,在网上找了Java传递参数分为2种:
- 值类型,Java里面也叫简单类型,这种参数类型的传递的是它的副本拷贝;
- 引用类型,传递的是对象引用地址,如果在方法内改变该参数对象属性即是对原引用对象的改变;如果不想这样传递可传递 对象.clone() 即传递的是该对象的副本拷贝;
那么,如果我想传递简单参数类型,但是我又想在方法内能改变原参数的值那如果传递呢?比如说一个方法是返回List集合但是我还需要传递一个总记录条数和总页面的参数,在该方法内进行赋值。Java内传递值还是引用类型还有一条规定,所有数组参数都是引用传递,即传递的是原地址,一旦改变数组参数值原引用数组值也回相应的改变,这样便能在一个有返回值的方法里还返回总记录条数和页数。
举个例子:
- public List<Product> GetProductList(int categoryid,int pageindex,int pagesize,int[] args)
- {
- List<Product> list = new ArrayList<Product>();
- args[0] = 100;
- args[1] = 101;
- return list;
- }
- //调用
- int cid = 0,pageindex =1,pagesize = 10 ,recordcount = 0,pagecount = 0;
- int[] args = new int[]{recordcount,pagecount};
- plist = GetProductList(cid,pageindex,pagesize,args);
- recordcount = args[0];
- pagecount = args[1];
- System.out.println("总记录数:"+recordcount);
- System.out.println("总页数:"+pagecount);
这里结果将会输出 总记录数:100 总页数:101
- Java方法强制传递引用参数(做为返回值),改变被传递参数值。
- Java方法参数的传递机制,值传递?引用传递?
- 探究java方法参数传递--引用传递?值传递!
- java方法参数传递方式--按值传递、引用传递
- 将引用做为传递参数
- CComPtr对象作为参数进行 1.值传递 2.引用传递 3.做为返回值的注意事项
- java 方法中参数是值传递还是引用传递
- Java 方法参数的值传递和引用传递
- java面试题解惑:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- Java的方法的参数传递,值传递和引用传递还有String字符串传递
- Java参数传递造成参数值改变的情况--值传递和引用传递的初步理解
- Java参数传递造成参数值改变的情况--值传递和引用传递的初步理解
- JAVA中参数传递(按值传递和引用传递)
- Java中的值传递和引用传递(参数传递)
- java参数传递(值传递还是引用传递)
- Java参数传递:值传递和引用传递
- Java中参数传递是值传递,还是引用传递
- Java参数传递,传递引用,传递值浅析
- Programmer Competency Matrix
- css样式之区分input是按钮还是文本框的方法
- 第4章 数据库安全性(数据库系统概论)
- Subversion + HTTP
- Sql server Insert执行的秘密(下) 带外键的INSERT分析
- Java方法强制传递引用参数(做为返回值),改变被传递参数值。
- 用fckeditor保存到数据库的HTML代码如何调用输出在前台?
- Joomla 内容管理系统 (CMS)的弱点
- 操作系统内存管理——分区、页式、段式管理
- 内容管理系统 (CMS) 简介
- 关于FCKeditor中贴大量文本提交出错的问题
- Dropbox for ubuntu无法安装
- 什么是V信通(VPDN)
- VC的classView不能显示所有类信息