
Java的数据类型及作为方法参数时的区别
发布日期:2021-05-07 06:54:29
浏览次数:20
分类:技术文章
本文共 639 字,大约阅读时间需要 2 分钟。
1. java的数据类型
java的数据类型分为基本数据类型和引用类型
基本数据类型:int、double、float、byte、short、char、long、boolean
引用数据类型:类、接口、数组
2. 作为方法参数时的区别
当数据类型作为方法参数时,两种类型在Java中都是以值传递的方式
值传递:是指在调用函数时,将实际参数复制一份传递给函数,这样在函数中修改参数时,不会影响到实际参数
引用传递:是指在调用函数时,将实际参数的地址传递给函数,这样在函数中对参数的修改,将影响到实际参数
当方法中形参发生改变时分为以下3种情况:
1. 基本数据类型
形参改变不会改变实参的值
(因为传递的是栈内存中值copy的副本)
2. 引用数据类型
形参改变会改变实参的值
(这里传递的也是栈内存中值copy的副本,也正因为这一点,所以副本指向的堆内存中的地址相同,所以改变形参时,也会改变堆内存中的值)
3. String字符串
(1) 字符串常量池中的字符串
形参改变不会改变实参的值
(虽然String也是引用类型,但是因为在常量池中不同对象开辟的内存空间不一样,所以栈内存的值copy的副本作为形参改变时,会指向不同的堆内存地址)
(2) new 出来的 String对象 或 StringBuffer、StringBuilder
形参改变会改变实参的值
(因为此时,它们不是存储在字符串常量池中的,和普通引用数据类型存放的方式相同,故改变形参会影响实参的原理也相同)
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年03月20日 21时53分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
十大排序算法之四:希尔排序(Python)
2021-05-08
利用递归实现二叉树的前中后序遍历(Python)
2021-05-08
A*寻路算法(Python)
2021-05-08
Python刷题输入输出
2021-05-08
C++数组知识注意点
2021-05-08
冒泡排序又来啦(C/C++版本)
2021-05-08
python负数存储
2021-05-08
求二维数组中最大值的位置
2021-05-08
python中sort和sorted的区别
2021-05-08
防碰撞算法
2021-05-08
在vue中添加echarts
2021-05-08
vue中echart数据动态切换,一看就懂
2021-05-08
Python实现理解树,树的遍历,二分查找
2021-05-08
Python3.6爬虫记录
2021-05-08
还不懂MySQL索引?这1次彻底搞懂B+树和B-树
2021-05-08
搞清楚Spring Cloud架构原理的这4个点,轻松应对面试
2021-05-08
1月份2月份GitHub上最热门的23个Java开源项目
2021-05-08
maven安装
2021-05-08
2020第十五届全国大学生智能汽车竞赛——4X4矩阵键盘+Flash调参系统
2021-05-08
合并两个有序数组
2021-05-08