博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java传值和传址
阅读量:7122 次
发布时间:2019-06-28

本文共 1020 字,大约阅读时间需要 3 分钟。

调用函数时,传的参数过去可能是传值,也可能是传址。如果是传值,函数内部的操作对参数的值没有影响;如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值。

Java到底是传值还是传址?用下面这个例子可以实验一下:

package test;import java.util.ArrayList;import java.util.List;public class ValueAndAddress {        public static void f1(int x){        x = x + 5;        return;    }        public static void f2(String s){        s = new String("10000");        return;    }        public static void f3(List
list){ list.remove(0); list.remove(1); list.remove(2); return; } public static void main(String[] args) { int x = 5; String s = new String("abcdef"); List
list = new ArrayList
(); list.add(0); list.add(1); list.add(2); list.add(3); list.add(4); f1(x); f2(s); f3(list); System.out.println("x=" + x); System.out.println("s=" + s); for (int i=0; i

运行结果:

可见,int和String类型的参数值没有发生改变,是传值,而List类型的参数值发生了改变,是传址。

转载地址:http://ebael.baihongyu.com/

你可能感兴趣的文章
使用Kotlin + SpringBoot + JPA 进行web开发极简教程
查看>>
运用Re-Encryption技术对你的IPFS网络数据进行多重保护
查看>>
Codepen 每日精选(2018-4-26)
查看>>
制作U盘启动盘重装macOS High Sierra
查看>>
微信小程序全局状态管理,并提供Vuex的开发体验
查看>>
Node.js+Mysql+Vue+ElementUI 实现登录注册注销功能
查看>>
常用的js排序算法
查看>>
Linux安装JDK
查看>>
NJ4X源码阅读分析笔记系列(二)—— nj4x-ts初步分析
查看>>
前端笔记(四) ES6常用语法
查看>>
Babel 快速入门
查看>>
kube-scheduler的代码逻辑和二次开发
查看>>
数据结构与算法(动态规划与贪婪算法) --javascript语言描述
查看>>
【360天】我爱刷题系列119(2018.01.31)
查看>>
netty
查看>>
【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结 —— 持续更新
查看>>
你需要知道的 webpack 配置
查看>>
Android技术提升
查看>>
bind, apply, call
查看>>
Servlet 3.0 异步处理详解
查看>>