• = 是赋值操作(任何包含=的如+=、-=、 /=等等,都内含了赋值操作)。不再是你以前理解的数学含义了,而+ - * /和 = 在java中更不是一个级别,换句话说, = 是一个动作,一个可以改变内存状态的操作,一个可以改变变量的符号,而+ - * /却不会。这里的赋值操作其实是包含了两个意思:1、放弃了原有的值或引用;2、得到了 = 右侧变量的值或引用。Java中对 = 的理解很重要啊!!可惜好多人忽略了,或者理解了却没深思过。
  • 对于基本数据类型变量,= 操作是完整地复制了变量的值。换句话说,“=之后,你我已无关联”;至于基本数据类型,就不在这科普了。
  • 对于非基本数据类型变量,= 操作是复制了变量的引用。换句话说,“嘿,= 左侧的变量,你丫别给我瞎动!咱俩现在是一根绳上的蚂蚱,除非你再被 = 一次放弃现有的引用!!上面说了 = 是一个动作,所以我把 = 当作动词用啦!!”。而非基本数据类型变量你基本上可以
  • 参数本身是变量,参数传递本质就是一种 = 操作参数是变量,所有我们对变量的操作、变量能有的行为,参数都有。所以把C语言里参数是传值啊、传指针啊的那套理论全忘掉,参数传递就是 = 操作

链接:https://www.zhihu.com/question/31203609/answer/51473602

Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double

在通过valueOf方法创建Integer对象的时候,如果数值在 [-128,127] 之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。

Integer、Short、Byte、Character、Long这几个类类似;

public class Main {public static void main(String[] args) {Integer i1 = 100;Integer i2 = 100;Integer i3 = 200;Integer i4 = 200;System.out.println(i1==i2);System.out.println(i3==i4);}
}

  所以上述代码输出结果:
  true
  false

  输出结果表明 i1 和 i2 指向的是同一个对象,而 i3 和 i4 指向的是不同的对象。

http://alexyyek.github.io/2014/12/29/wrapperClass/

转载于:https://www.cnblogs.com/xlchen/p/6102795.html

简单类型参数是值传递,对象参数是引用传递相关推荐

  1. 【Qt】信号和槽对值传递参数和引用传递参数的总结

    在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...

  2. url中传递对象参数_在URL参数中传递复杂对象

    url中传递对象参数 假设您想传递原始数据类型,例如复杂的Java对象 java.util.Data,java.lang.List,泛型类,数组以及通过URL参数所需的所有内容,以便在页面加载后在任何 ...

  3. 微信小程序页面跳转如何传递对象参数

    前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家.大家及时保存,说不定啥时候就没了. 微信小程序页面跳转如 ...

  4. qt槽函数如何传递多个参数_【Qt】信号和槽对值传递参数和引用传递参数的总结...

    在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...

  5. js 方法传递对象参数

    js 方法传递对象参数 2017年12月06日 16:35:39 qq_26676207 阅读数:7696 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

  6. ajax传递多参数类型,Ajax传递不同类型的参数

    1.目录结构: 1.传递普通的参数 2.传递对象 3.传递List 4.传递数组 1.1 前端页面 前端页面.png 1.2 HTML代码 注意:需要引入layui噢 button{ margin-t ...

  7. 什么是值传递,什么是引用传递。为什么说Java中只有值传递。

    关于这个问题,在StackOverflow上也引发过广泛的讨论,看来很多程序员对于这个问题的理解都不尽相同,甚至很多人理解的是错误的.还有的人可能知道Java中的参数传递是值传递,但是说不出来为什么. ...

  8. java包装和引用_回顾值传递和引用传递关于Java是值传递还是引用传递,网上有不一样的说法。1、基本类型或基本类型的包装类以及String是值传递,引用类型是引用传递。2...

    回顾值传递和引用传递 关于Java是值传递还是引用传递,网上有不一样的说法. 1.基本类型或基本类型的包装类以及String是值传递,引用类型是引用传递. 2.Java中只有值传递. 关于这个问题应该 ...

  9. C++ 高效编程:pass-by-value(值传递)与pass-by-reference(引用传递)

    C++在定义函数传参时,常用pass-by-value(值传递)与pass-by-reference(引用传递)两种形式,两种参数传递具体实现方式为: 值传递(pass-by-value) 值传递(p ...

  10. 什么是值传递,什么是引用传递?

    1.什么是值传递,什么是引用传递? 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数. 引用传递(pass by ...

最新文章

  1. 基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统
  2. js转Java的list_JS之JSON字符串到后台用Java转换成List实体类
  3. [bzoj1614]: [Usaco2007 Jan]Telephone Lines架设电话线
  4. 最全 Prometheus 踩坑集锦
  5. python 底层原理_Python 探针实现原理
  6. CSS + DIV 让页脚始终保持在页面底部
  7. oracle dba (适用,OracleDBA笔试题
  8. Java毕业设计:校园二手闲置物品交易网站(java+springboot+vue+mysql)
  9. 8086/8088,80286,80386的CPU寄存器
  10. BF-9500警用(PDT)数字集群通信系统
  11. 126邮箱软件测试,selenium测试126邮箱新增联系人
  12. qq2009 好像和金山词霸屏幕取词有冲突
  13. 时序分析 44 -- 时序数据转为空间数据 (三) 格拉姆角场 python 实践 (上)
  14. 数学建模 MATLAB MATLAB全局优化算法
  15. Flink1.13学习_第 1 章 初识 Flink
  16. 知乎-如何进入BAT2
  17. 汇编 windows 10 通过DOSBox使用Debug程序
  18. 谷歌(chrome)浏览器设置成深色模式(dark)
  19. 为什么有些人已经那么接近成功,但是,最终却没有能够取得成功?
  20. Nginx 实现负载均衡、限流、缓存、黑白名单和灰度发布,这是最全的一篇了!

热门文章

  1. Python实现Windows电脑定时关机
  2. 【ENVI入门系列】13.分类后处理
  3. ArcGISEngine二次开发(1):系统基本功能
  4. windows32位安装MongoDB
  5. Java中的 BigDecimal,80%的人都用错了....
  6. 最牛逼android上的图表库MpChart(二) 折线图
  7. html5 embed 不自动播放,html5自动播放与 iframe 你管videoautoplay=1不工作?_html5_开发99编程知识库...
  8. 如何画c语言箭头鼠标,简单的鼠标绘图程序
  9. linux 文件 跳板机_linux 跳板机得搭建
  10. windows c++ 服务 当前用户提权_关于Windows下的提权方式(上)