今天在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
分享到:
相关推荐
7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 什么是局部变量(Local Variable) 175 7.7.2 什么是实例变量(Instance ...
7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 什么是局部变量(Local Variable) 175 7.7.2 什么是实例变量(Instance ...
学生提问:为什么我创建Java对象时从未感觉到java.lang.Object的构造器被调用过? 150 5.7 多态 151 5.7.1 多态性 151 5.7.2 引用变量的强制类型转换 152 5.7.3 instanceof运算符 154 5.8 继承与组合 154 ...
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的...
掌握定义方法(声明方法)和调用方法,通过参数和返回值传递数据。 理解实际参数与形式参数以及参数类型的提升(隐式转型)。 掌握方法重载(overload)的基本要求。 区别和掌握按值传递与按引用...
函数式编程有两个指导思想:①函数是头等值,也就是说函数也是值,并且和其他类型(如整数、字符串等)处于同一地位,函数可以被当作参数传递,也可以被当作返回值返回,还可以在函数中定义函数等等;②程序的操作...
•如果在定义方法时,在最后一个参数的类型后增加三点…,则表明该形参接受多个参数值,多个参数值被当成数组传 入. •长度可变的形参只能位于最后一个参数,并一个方法里只能有一个可变长度的参数. 递归 •...
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的...
参数:0(不做任何清理),1(简单清理Word),2(深入清理Word),3(强制转文本),默认为1简单清理Word 说明:若网站应用需要保留更多的Word样式效果,请设置此值为1,不过产生的HTML代码体积会大大增大 备注:1.1.4版本中新...
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
因为一些程序员使用不支持异常处理语言编程时,往往拖延或忘记错误处理程序的编写,故,Java强制程序员从项目一开始就着手进行异常处理,程序员必须投入很大精力把异常处理的策略融合到软件产品中<BR>11、 ...
\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,...
等号右边其实就是1个匿名方法对象 |--*必须在传递之前声明方法对象* C:var compare=new Function('a','b','return a-b') ---| --其实js底层就是new Function;构造函数中的参数都是字符串 结论:所有的方法都是...
修改扩展界面支持库一,为“超级列表框”增加“检查框状态被改变”事件。 15. 修改扩展界面支持库一,为“树形框”增加“是否已加粗()”方法。 16. 修改扩展界面支持库一,为“树形框”增加多态检查框功能,相应...
“ SLAE的线性代数方程组的解” 简单迭代法在程序中,数值方法必须实现为单独的子例程或类,初始数据作为参数传递给子例程或类,输出数据也作为参数传递给子方法或类(或返回值)。 矩阵的尺寸为n <= 20(由文件...
� A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从计算机为主改成从手机使用为导向。新 生应用如:G oogle 地图及其衍生应用、 GMail 、 GTalk 等。 � GPS 卫星导航功能,手机照相, MP3 ,蓝芽等均...