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

P471 String对象特性2

数组默认情况下是放到堆里面的

只要调用一个方法就会产生一个新栈,因为是在主方法里创建对象的,所以对象是在栈里面,而str ch这些都应该在堆里面,栈里的对象指向堆中的str ch。这一题很像学C语言的时候遇到的形参和实参问题,形参变化会不会导致实参的变化

P472 String常用方法1

P473 String常用方法2

s1.replace()方法执行后,对s1本身没有影响,返回结果才是替换过的

P474 String常用方法3

P475 StringBuffer结构剖析

可变长度是指StringBuffer的数组不是final类型的

对于第二点,StringBuffer的内存方式和数组的类似。StringBuffer只有当内存不够时才会更新地址

P476 StringBuffer转换

第一个构造器里的数组value,是父类的value

第四个构造器得到的数组长度是str.length()+16

P477 StringBuffer方法

append方法会影响原来的,而且不管加进去的是什么类型,最后得到的结果都是StringBuffer

delete、replace、insert方法会影响原来的,范围是前闭后开

replace方法可以被替代的和替代的长度不一样

P478 StringBuffer练习

第一个输出长度为四,是因为经过追源码之后,最后的处理是将null转化为内容为null这四个字符的数组

倒数第二行中,因为str是null,所以str.length()就是null.length(),因此会出现空指针异常

关键:先有小数点找到第一个位置,利用循环,不断往前推三位,注意要先找到要写小数点的位置,再添加小数点

代码见price

P479 StringBuilder结构剖析

StringBuilder可以看成StringBuffer的简易版,他们的区别在于StringBuilder的方法没有做同步(synchronized)的处理,就是互斥,不是线程安全的,因此适用于单线程

P480 StringBuilder应用

第二点,复用率高是指,常量池中的一个字符串常量,可以被多个对象指向

P481 Math方法

Math中的方法通常都是静态的,可以直接通过类名调用

相关推荐
allan bull21 分钟前
在节日中寻找平衡:圣诞的欢乐与传统节日的温情
人工智能·学习·算法·职场和发展·生活·求职招聘·节日
a程序小傲22 分钟前
蚂蚁Java面试被问:注解的工作原理及如何自定义注解
java·开发语言·python·面试
wdfk_prog29 分钟前
[Linux]学习笔记系列 -- [fs]fs-writeback
linux·笔记·学习
幽络源小助理37 分钟前
SpringBoot+Vue摄影师分享社区源码 – Java项目免费下载 | 幽络源
java·vue.js·spring boot
0和1的舞者41 分钟前
《软件测试分类指南:8 大维度 + 核心要点梳理》
java·软件测试·单元测试·测试·黑盒测试·白盒测试·测试分类
charlie11451419142 分钟前
嵌入式现代C++教程:C++98——从C向C++的演化(3)
c语言·开发语言·c++·笔记·学习·嵌入式
TAEHENGV1 小时前
创建目标模块 Cordova 与 OpenHarmony 混合开发实战
android·java·开发语言
RanceGru1 小时前
LLM学习笔记8——多模态CLIP、ViLT、ALBEF、VLMo、BLIP
笔记·学习
中屹指纹浏览器1 小时前
动态IP场景下指纹浏览器的实时协同适配技术研究与实现
经验分享·笔记
是一个Bug1 小时前
如何阅读JDK源码?
java·开发语言