学习笔记 韩顺平 零基础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中的方法通常都是静态的,可以直接通过类名调用

相关推荐
星夜夏空9917 小时前
C++学习(1) ——C与C++
c语言·c++·学习
生活爱好者!18 小时前
AI加持的笔记工具,比备忘录好用,NAS一键部署blinko
人工智能·笔记
24计网1王仔寿18 小时前
Linux 系统运维全栈学习路线|从 Shell 脚本到容器云 OpenStack 完整学习指南
linux·学习·openstack
组合缺一18 小时前
用 ChatModel 构建 LLM 驱动的 Java 应用
java·开发语言·ai·llm·solon·rag
摇滚侠18 小时前
Apache Skywalking 实战 阅读笔记 第一章
笔记·apache·skywalking
AOwhisky18 小时前
Kubernetes(K8s)学习笔记(第十四期):集群存储与有状态应用(下篇):StatefulSet 有状态应用管理
redis·笔记·mysql·云原生·kubernetes·云计算·k8s
zzz_236818 小时前
【Java实习面试算法冲刺】哈希!
java·算法·面试
来生硬件工程师18 小时前
【硬件笔记】DCDC电源设计—BUCK电路设计要点
笔记·单片机·嵌入式硬件·硬件工程·智能硬件
带刺的坐椅18 小时前
ReActAgent 使用指南:构建会思考、能行动的 AI Agent
java·ai·llm·solon·loop·react-agent
weixin_4235339918 小时前
AFSim学习-自定义Processor开发2-将平台状态存储到csv
学习