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

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

hot3.png

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

你可能感兴趣的文章
FreeRTOS 特性简介
查看>>
Linux--前后端分离部署
查看>>
java阶段学习目标
查看>>
Azure IoT 技术研究系列2
查看>>
day24-3-2子类继承构造方法
查看>>
我们一起学习WCF 第五篇数据协定和消息协定
查看>>
Linux 与 Windows 文件互传(VMWare)
查看>>
Python学习笔记八 面向对象高级编程(一)
查看>>
Oracle内置函数
查看>>
UVA 1645 Count
查看>>
贪吃蛇程序
查看>>
poj 1419 Graph Coloring
查看>>
node的安装及其运用及相关配置
查看>>
第19篇 2016年计划
查看>>
左连接,右连接,内连接
查看>>
Django+element ui前后端不分离的博客程序
查看>>
托福听力
查看>>
2018-2019-1 20165302 《信息安全系统设计基础》第四周学习总结
查看>>
类似百度图片排版效果
查看>>
【学习笔记】DataTable根据多列分组
查看>>