java 参数传递 session等作用域中值得改变
来源:互联网 发布:黄金时时彩软件 编辑:程序博客网 时间:2024/05/18 01:55
参数传递:
1.基本类型作为参数传递
public class Test1 { public static void main(String[] args) { int n = 3; System.out.println("Before change, n = " + n); changeData(n); System.out.println("After changeData(n), n = " + n); } public static void changeData(int n) { n = 10; } }
基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的,输出的结果证明了这一点:
Before change, n = 3
After changeData(n), n = 3
2.对象作为参数传递
public class Test2 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("Hello "); System.out.println("Before change, sb = " + sb); changeData(sb); System.out.println("After changeData(n), sb = " + sb); } public static void changeData(StringBuffer strBuf) { strBuf.append("World!"); } }
先看输出结果:
Before change, sb = Hello
After changeData(n), sb = Hello World!
3.传参后改变对象引用地址
public class Test3 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("Hello "); System.out.println("Before change, sb = " + sb); changeData(sb); System.out.println("After changeData(n), sb = " + sb); } public static void changeData(StringBuffer strBuf) { strBuf = new StringBuffer("Hi "); strBuf.append("World!"); } }
发现结果是这样的:
Before change, sb = Hello
After changeData(n), sb = Hello
上述情况改变了,参数引用的地址变成了一个新的对象,所以这个不是修改了原来对象的值
web 作用域中改变值
1.String 等变量类型传递
<%String map = "map"; %> <%session.setAttribute("map",map); %> <%String map2 = (String)session.getAttribute("map"); map2 = "newmap"; %> <%=session.getAttribute("map") %>解析:String是作为一种变量存放在了作用域中,这种方法并不能改变其值
2.对象
<% User u = new User(); u.setUid("1"); session.setAttribute("User",u); %> <%=((User)session.getAttribute("User")).getUid() %> <%((User)session.getAttribute("User")).setUid("2"); %> <%=((User)session.getAttribute("User")).getUid() %>解析:如果在作用域中存放的是对象,当取得对象后,即取得了这个地址,改变属性内容作用域中即改变
0 0
- java 参数传递 session等作用域中值得改变
- java swing 文本域中改变字体颜色
- java中的参数传递(值传递等)
- session传递参数
- ActiveMQ session参数作用
- 在java方法中改变传递的参数的值
- Java方法中通过传递参数改变变量的值
- Java方法强制传递引用参数(做为返回值),改变被传递参数值。
- Java参数传递造成参数值改变的情况--值传递和引用传递的初步理解
- Java参数传递造成参数值改变的情况--值传递和引用传递的初步理解
- session在页面重定向后会清空作用域中的值吗?
- this.方法参数传递等
- Java参数传递,值传递
- Tomcat等应用启动脚本中的-D参数 [java的系统参数传递]
- 参数传递中,指针本身不改变
- &应用传递,在函数中改变参数
- 使用session在页面间传递参数
- Java参数传递
- 【转载】MySQL 加锁处理分析
- IOS开发之实现App消息推送(最新)
- AES256JNCryptor加密后的密文长度
- 如何在MySQL的SQL语句中避免数据唯一性冲突
- mysql中update一张表多列时的次序问题
- java 参数传递 session等作用域中值得改变
- mysql中的utf8字符集与标准UTF-8的区别
- SSL TLS 学习之二:SSL与TLS的区别和介绍
- 如何使用SQL向mysql中插入一个特定UNICODE码值的字符
- ubuntu 启动android模拟器
- Unicode基础知识
- XDocument操作xml文件基本操作
- 【转载】理解MySQL——索引与优化
- 【转载】涉及民族关系的中英文词汇的再认识