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

形参改变会改变实参的值

(因为此时,它们不是存储在字符串常量池中的,和普通引用数据类型存放的方式相同,故改变形参会影响实参的原理也相同)

上一篇:区间和的和
下一篇:MSWORLD

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月20日 21时53分36秒