学习笔记 韩顺平 零基础30天学会Java(2024.8.5)

P460 八大Wrapper类

黄色的父类是number,黑色的是自己独立的

P461 装箱和拆箱

手动装箱示例:

int n1 = 100;

Interger interger = new Interger(n1);//或者:Interger interger = Interger.valueOf(n1);

手动拆箱示例:

int i = interger.intValue();

自动装箱和拆箱示例(直接赋,不用通过valueOf方法):

int n2 = 200;

Interger interger2 = n2;//自动装箱

int n3 = interger2;//自动拆箱

P462 包装类测试

Double和double声明出来的不一样,Double声明出来的是一个类的对象,但是由于有自动装箱,所以看起来和之前学的double赋值一样

因为三元运算符是一个整体,所以会将int优先级提升到double

P463 包装类方法

像这种直接赋值的转换,由于自动装箱的存在,很像再C语言里学的数据类型转换

P464 Interger创建机制

Interger.valueOf()方法的源码反映,当值范围在-128~127之间,就从数组返回,不会创建一个新对象,否则每次都会创建并返回这个新对象

P465 Interger面试题

做错了(只要有基本数据类型,==判断的就是值是不是相等):

P466 String结构剖析

String实现了Sericalizable接口,说明它可以串行化,可以串行化也就可以在网络上传输;实现了Comparable,说明String对象可以比较。其他类,比如包装类实现了这两个接口之后的意义,可以参考String的

对于下面图的第八点,可以理解为, value\[\]是一个数组,也就是一个引用类型,因此不变的应该是地址,而不是值

P467 String创建剖析

装箱拆箱是前面包装类的知识,String和包装类不是一个,不要把概念弄混了

对于第一种方式,是直接从栈指向方法区

P468 String测试题1

String的equals方法已经重写过了,是比较内容是否相等

对于intern方法,不管原来有没有等于这个String对象的字符串,都是返回地址

P469 String测试题2

第二个输出:p1.name就是堆里面,那个框框里放的东西,放的是地址,就是地址

第三个输出:有一个基本数据类型==就是比较值,p1.name不用说,String是引用类型不是基本数据类型,所以这里也是比较地址

P470 String对象特性1

创建了两个对象,因为s1只是引用,就是人的名字,不同的人都可以叫相同的名字,比如说两个张伟,再说字符串value数组是final的,地址不能变,值可以变,在这里,相当于"hello"这个字符串的代号开始叫s1,后面s1被用来代指"haha",因此是两个对象,一个"hello"一个"haha"

相关推荐
宸津-代码粉碎机1 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
噢,我明白了2 小时前
java中唯一键和幂等键的应用
java·后端
程序猿乐锅2 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
考虑考虑3 小时前
synchronized字符串常量
java·后端·java ee
长谷深风1113 小时前
Tool与Skill:AI能力设计的分水岭
java·人工智能·ai·大模型·aiagent
m0_587383003 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
Escalating_xu3 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
差不多的周周3 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
周杰偷奶茶3 小时前
【Java】数据类型与变量
java·开发语言
code斗3 小时前
Java数据结构:堆详解
java·开发语言·数据结构