笔记66-android传值方式验证
来源:互联网 发布:淘宝耐克阿迪正品店 编辑:程序博客网 时间:2024/05/16 13:43
淘宝提交订单时,可以选择快递方式,不同的快递,价格不同。当快递价格发生变化时,订单价格也要发生变化。
一、值传递和引用传递
值传递:传递进方法的参数是值的拷贝,传递后两者就互不相关了。
引用传递:传递的是变量对应的内存空间的地址,方法中能够改变传递的参数值。
二、java用哪种方式
对于基本数据类型(整型、浮点型、字符型、布尔型等),传值;对于引用类型(对象、数组、list等),传引用。String例外,它不是简单类型,却用到是值传递方式;而StringBuffer是引用传递方式。
基本类型的包装类也是值传递。
三、代码验证
1、String是值传递
Button btn2=(Button) findViewById(R.id.btn2);btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String str="aaa";initBtn(str);Toast.makeText(getApplicationContext(), str, 1).show();}});private void initBtn(String str) {str="bbb";}输出str为"aaa"。
2、list是引用传递
Button btn2=(Button) findViewById(R.id.btn2);btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {List<String> ll=new ArrayList<String>();ll.add("aaa");ll.add("aaa");initBtn(ll);Toast.makeText(getApplicationContext(), ll.get(0), 1).show();}});private void initBtn(List<String> ll) {ll.set(0, "bbb");}输出为"bbb"。
四、赋值方式
public void onClick(View v) {List<String> l1=new ArrayList<String>();l1.add("a");l1.add("b");l1.add("c");List<String> l2=new ArrayList<String>();//l2.addAll(l1);l2=l1;l1.set(1, "c");Toast.makeText(getApplicationContext(), l2.get(1), 1).show();}如果用l2.addAll(l1),那么l2.get(1)="c";如果用l2=l1,那么l2.get(1)="b"。说明如果直接用"="赋值的话,编译器会作内存优化,使得这两个list引用同一个地址。
0 0
- 笔记66-android传值方式验证
- Android验证码倒计时实现方式总结
- php传值的方式和ajax的验证
- 验证方式
- struts2系列学习笔记(9)---------------编程方式的验证
- struts2系列学习笔记(10)---------------配置方式的验证1
- Android笔记:发送验证码后倒计时
- android 短信验证码自动填写的两种方式
- Android中两种请求方式HttpGet和HttpPost验证用户登录
- Android 中如何使用带有验证码的方式登陆
- Android 之倒计时验证两种常用方式
- SpringMVC注记方式验证学习笔记——验证出错提示信息文本与验证注记的关联
- Android的Activity启动方式以及传值方式
- 【Android笔记】MediaPlayer基本使用方式
- 【Android笔记】MediaPlayer基本使用方式
- 【Android笔记】MediaPlayer基本使用方式
- 【Android笔记】MediaPlayer基本使用方式
- 【Android笔记】MediaPlayer基本使用方式
- 2014/7/25
- ibatis 报错mysql中的主键没有默认值
- (linux shell)第一章--小试牛刀(下)
- 5_透明度变化的动画
- MIB builder使用
- 笔记66-android传值方式验证
- 第六章 FP-Growth算法
- 解决nginx负载均衡的session共享问题
- HDU4876:ZCC loves cards
- 黑马程序员--java 知识回顾--集合笔记
- linux常用系统调用函数
- OutLook 2013 添加 USC gmail 邮箱 解决国内USC邮箱打不开
- android 从sdcard启动小结
- 读懂diff