2个interger的引用对象传给一个swap方法在方法内部进行交换

1.1 java中方法参数传值方式

java中方法传参数都是值传递的,只不过根据参数的类型是引用类型还是非引用类型

引用类型传递的是该类型的地址

非引用类型传递的是该变量的副本

1.2 Integer 源代码存在 一个int value变量中

1.3 可以通过反射变量来改private final 变量

package com.java.yj;

import java.lang.reflect.Field;

/**
* Created by yejian on 2018/7/9.
*/
public class MethodVarialble {
public static void main(String[] args) {
Integer i1=10;
Integer i2=20;
swap(i1,i2);
System.out.println("i1="+i1+" i2="+i2);
} public static void swap(Integer i1, Integer i2) {
try {
Field field = Integer.class.getDeclaredField("value");
field.setAccessible(true);
//int temp = i1.intvalue(); //指向同一份内存地址
Integer temp = new Integer(i1.intValue());
field.set(i1,i2.intValue());
field.set(i2,temp);
} catch (Exception e) {
e.printStackTrace();
} } }

1.4 Integer -128到127之间的数会放入缓存,取这些数是从缓存取的

1.5 自动装箱和拆箱

java引用传递,值传递的更多相关文章

  1. Java中的值传递和引用传递

    这几天一直再纠结这个问题,今天看了这篇文章有点思路了,这跟C++里函数参数为引用.指针还是有很大区别. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里 ...

  2. 一道笔试题来理顺Java中的值传递和引用传递

      题目如下: private static void change(StringBuffer str11, StringBuffer str12) { str12 = str11; str11 = ...

  3. java中的值传递和引用传递有什么区别呀?

    值传递: (形式参数类型是基本数据类型和String):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参 ...

  4. 理解--->Java中的值传递&引用传递

    转自:http://url.cn/5tL9F5D 值传递和引用传递 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际 ...

  5. Java 中的值传递和引用传递问题

    Java 中的值传递和引用传递问题 public class Operation { int data = 50; void change(int data) { data = data + 100; ...

  6. Java中的值传递和地址传递(传值、传引用)

    首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中.更何况,要想知道 ...

  7. Java中的值传递与“引用传递”

    首先,Java没有 引用传递 这么一说. Java仅仅有值传递.传递的都是值,基本数据类型传递的是值.引用类型传递的是地址值. 我来理一下这当中宛如米线跟米面绞在一起了,再跟粉丝混在一起的关系. 好的 ...

  8. Java中只有值传递,(及值传递与引用传递详解)

    首先呢,我们来说一下值传递与引用传递的区别(这两个玩意儿实在调用函数的时候提到的) 比如说 code( a) code( int a ) code(a)是调用函数,a是我们原本函数的一个值类型,然后使 ...

  9. 188W+程序员关注过的问题:Java到底是值传递还是引用传递?

    在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很多的程序员被这个 ...

  10. java都是值传递,没有引用传递

    博主这几天在复习 javaSE 部分的内容时,遇到了关于参数传值的问题,但是始终不知道原因,上网上一查才知道钻牛角尖了,把C语言的参数传值转移到java中了. 相信很多在学习java之前,有接触过C/ ...

随机推荐

  1. [Java复习] Spring Framework 框架小结

    Spring 总共大约有 20 个模块,由 1300 多个不同的文件构成. 而这些组件被分别整合在   核心容器 (Core Container),   AOP(Aspect Oriented Pro ...

  2. python-30个骚操作

    1.冒泡排序     2.计算x的n次方的方法     3.计算a*a + b*b + c*c + ……     4.计算阶乘 n!             5.列出当前目录下的所有文件和目录名   ...

  3. 04Flutter仿京东商城项目 首页商品列表布局

    Home.dart import 'package:flutter/material.dart'; import 'package:flutter_swiper/flutter_swiper.dart ...

  4. 本地文件上传到Linux服务器

    1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101: ...

  5. pch文件的添加

    想说试了好久一直报错找不到文件,解决方法如下: 依次是:./项目名/文件夹名称/pch文件名

  6. iframe高度自适应方法

    <iframe width="100%" id="tbbrecommend" name="tbbrecommend" src=&quo ...

  7. 实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”

    问题:如果实例节点的NTP服务器地址配置正确,而且能够ping通,   但是在chronyc sources指令中显示NTP服务器状态为“?”, 该如何检查并操作. 1)在chrony配置文件中,检查 ...

  8. mysql学习笔记11_18(更新、插入和删除)

    1.初始表 mysql> select * from department; 2.修改销售部的地点为杭州 mysql> update department set address = '杭 ...

  9. 【计算机视觉】深度相机(四)--Realsense概览

    本文参考下文,做一点个人使用补充. http://blog.csdn.net/app_12062011/article/details/52662143 转自: http://blog.csdn. ...

  10. 实现多个JSP页面共用一个菜单

    1.首先将菜单栏代码独立为一个jsp页面 例如 <%@ page language="java" contentType="text/html; charset=U ...