2019独角兽企业重金招聘Python工程师标准>>>

java的传值和传址问题争论不休,我的理解是两种情况都存在。对于基础类型数据,采用的是传值,而对于object类型的采用的是传址。刚开始的时候,我认为String虽然是对象类型,但是却是采用的传值,之后我发现,String的值虽然没有变,是有原因的,但可以肯定的是String与其他object一样,也是传址。要是有说的不对的地方,还请高人指点。

下面是测试代码:

package com.wangbiao.test;/*** java中的传值和传址的问题分析* @author WangBiao*2013-4-28上午10:31:31*/
public class Test {//参数为基础数据类型,为传值public static void test_base_data_type(int a){a=100;}//参数为String类型比较特殊,简单认为它也是传值。public static void test_string(String str){str="chengdu";}//参数为对象类型,为传址public static void test_object(StringBuffer sb){sb.append("is ok");sb=new StringBuffer();}public static void main(String[] args) {int a=5;String str="wuhan";StringBuffer stringbuffer=new StringBuffer("test");test_base_data_type(a);System.out.println(a);test_string(str);System.out.println(str);test_object(stringbuffer);System.out.println(stringbuffer);//测试结果
//      5
//      wuhan
//      testis ok}}

内存分析图:

String类型分析



StringBuffer的分析



转载于:https://my.oschina.net/u/617909/blog/126122

java的传值和传址问题相关推荐

  1. Java系列之传值还是传址,你清楚了吗?

    前言 Java有两大数据类型:基本型和引用型.基本型有int(整型).short(短整型).长整型(long).byte(字节型).float(单精度型).double(双精度型).char(字符型) ...

  2. Java中等于号,传值和传址区别

    1.Java等号的两种作用 java的等于号在进行数据之间赋值时就是传值:在引用对象之间,等于号作用就是传地址. 比如自建类 ListNode xList=ListNode(0); ListNode ...

  3. java函数返回多个值_深入理解被调函数与主调函数之间的传值、传址、值返回、址返回...

    函数的英文是function,有功能的意思,函数的作用在于合理分配功能,增强程序的可读性.合理分解功能,降低程序的复杂性.隐藏函数内部的数据和实现,尽可能将问题局限于函数本身. 函数可以理解为一种功能 ...

  4. 传值类型_java中的“传值”与“传址”问题

    "用对象来生成对象""对象作为参数进行传递""构造方法中的参数为对象"问题 本质上是"传值"与"传址" ...

  5. 传值类型_Java内存管理:Stackoverflow问答-Java是传值还是传引用(十一)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 本文导图: 一.由一个提问引发的思考 在Stack Overflow 看到这样一个问题 ...

  6. Java内存管理-Stackoverflow问答-Java是传值还是传引用?(十一)

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 推荐阅读 第一季 0.Java的线程安全.单例模式.JVM内存结构等知识梳理 1.Java内存管理-程序运行过程(一) 2 ...

  7. Python 传值和传址 copy/deepcopy

    传值:被调函数局部变量改变不会影响主调函数局部变量 传址:被调函数局部变量改变会影响主调函数局部变量 Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组则传值:如 ...

  8. php 函数传值_传址_函数参数,php函数的传值与传址(引用)详解

    在php中我们函数传值就比较简单了,但可能有些朋友地天真无邪函数传址或引用搞不明白,下面小编来给各位介绍在php中函数传值与传址(引用)介绍,希望对各位有所帮助. php中引用的用法: 1. 变量的引 ...

  9. php 函数传值_传址_函数参数,php函数的传值与传址(引用)详解_PHP教程

    在php中我们函数传值就比较简单了,但可能有些朋友地天真无邪函数传址或引用搞不明白,下面小编来给各位介绍在php中函数传值与传址(引用)介绍,希望对各位有所帮助. php中引用的用法: 1. 变量的引 ...

  10. javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象...

    对象字面量  JSON var obj = { aaa :999}; var json={"aaa":999,"bbb":888}; "kay&quo ...

最新文章

  1. node.js基础 1之 HTTP事件回调进阶(HTTP模块)
  2. 绘制网络拓扑图的素材
  3. ogr 缓冲区_GDAL的几何操作
  4. MySQL高级 - 常用工具 - mysqlshow
  5. 札记__ADT:URL,Lua:strlen方法
  6. win10安装oracle12c注意事项,win10系统安装oracle 12c出现ins-30131错误的修复办法
  7. 我的第一个安卓应用程序_今天,我启动了我的第一个移动应用程序。 这是我学到的...
  8. https跳转到http session丢失问题
  9. python的编码类型转换
  10. Live Writer首段缩进和全角空格设置
  11. c语言按键中断程序,单片机C语言代码:外部中断,按下中断按键LED不亮,LED1正常亮...
  12. php 环境搭建 -- 命令配置
  13. HighCharts:图表默认的英文日期改为中文显示
  14. mysql_query的返回值
  15. 论应用程序商店:软件销售模式的变革
  16. 163邮箱的登陆页面是什么样的有几种登陆方式?163邮箱手机版登陆
  17. 校园网WiFi免认证软件监控
  18. windows下批处理文件的编写
  19. 掌握这几点 让你快速写出优质电影解说文案!
  20. ConceptDraw MINDMAP 12 Mac版思维导图软件有哪些有点?

热门文章

  1. 共享上网掉线后的排错
  2. mysql 5.5 innodb 优化_mysql 5.5 -- innodb buffer pool优化
  3. linux ssh升级回退,Linux-SSH升级及回退方案
  4. linux内核IO模块plug/unplug机制
  5. zebra代码简单分析 --- 001
  6. Linux 内核 SMP 代码追踪 --- cpumask
  7. 蓝桥杯省赛2018年Java组B组
  8. 二叉搜索树的操作题集
  9. 核函数(Kernel Function)与SVM
  10. 【数据结构】C++STL map 常见用法小结