zoukankan      html  css  js  c++  java
  • java引用传递,值传递

    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 自动装箱和拆箱

  • 相关阅读:
    网络编程(四)
    网络编程(三)
    网络编程(二)
    网络编程(一)
    异常处理
    Python 的名称空间和作用域
    如何在Java 8中愉快地处理日期和时间
    线段树入门整理、
    最小生成树prim、
    <climits>头文件
  • 原文地址:https://www.cnblogs.com/james0/p/9280559.html
Copyright © 2011-2022 走看看