0
点赞
收藏
分享

微信扫一扫

Java拷贝(克隆)原理(持续更新)

南柯Taylor 2022-01-10 阅读 57

文章目录

1. 基本类型和引用类型的区别

Java中的数据类型分为两大类,基本数据类型引用类型

1.1 基本数据类型

基本数据类型有八种类型,大致按照如下分类
①整数类型:long、int、short、byte
②浮点类型:float、double
③字符类型:char
④布尔类型:boolean

数据类型位数范围默认值
byte(字节型)8-128(-27)~127(27 - 1)0
short(短整型)16-32768(-215)~32767(215 - 1)0
int(整型)32-2147483648(-231)~2147483647(231 - 1)0
long(长整型)64-9223372036854775808(-263)~9223372036854775807(263 - 1)0L
float(单精度)32-3.4E38~3.4E380.0f
double(双精度)64-1.7E308~1.7E3080.0d
char(字符)16\u0000(十进制等效值为 0)~\uffff(即为 65535)‘\u0000’
boolean(布尔)8true或falsefalse

注:1字节等于8位,即1byte(字节)= 8bit(位)

1.2 引用类型

  • 引用类型有很多像类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。
  • 一个引用变量可以用来引用任何与之兼容的类型。
  • 例子:String str = new String(“hello world”)。

注:在Java中,基本类型都有对应的封装类:

数据类型封装类
byteByte
shortShort
longLong
intInteger
floatFloat
doubleDouble
charCharacter
booleanBoolean

这样用的原因跟泛型必须包容的是引用类型有关,然后咱们经常用的集合List、Set有些使用到了泛型,还有一个很重要的点就是像int默认值是0,Integer默认值是null,咱们可以通过这一点去判断是否有输入数据,因为在数据库里null是不会显示值的,当然你也可以做多一步逻辑判断。

1.3 区别

2. 序列化原理

序列化相关可以看我另一篇:Java序列化和反序列化

3. 浅拷贝的原理和实现

4. 深拷贝的原理和实现

举报

相关推荐

0 条评论