oopDay8-获取数据封装进对象中,包裹类(转换),StringBuilder系列

本文介绍了如何将数据封装进对象中,特别是针对Integer和Character的转换。还深入探讨了StringBuilder系列,包括其线程不安全的特点、默认长度、储存机制和底层原理,强调在字符串拼接时使用StringBuilder的效率优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day8

1.获取数据封装进对象中

在这里插入图片描述

2.包裹类

字符串转整数:1.parseXxx(); 2.valueOf()

数值转字符串:1.toString

架起 基本数据类型 和引用数据类型 沟通的桥梁

解决的问题 : 字符串 和 对应类型之间 的转换问题

Integer:

String str = "123";
int x = Integer.parseInt(str);	//-->字符串转整数(parse-->解析)
		Integer.valueOf(str);	//-->字符串转整数
		Integer.toString(123);	//-->数值转字符串

八个基本数据类型都有对象得包裹类

特殊:int 和 Integer

特殊:char 和 Character

byte 和 Byte

short 和 Short

long 和 Long

float 和 Float

double 和 Double

boolean 和 Boolean

补充:

最大值,最小值,转换进制

在这里插入图片描述

3.StringBuilder系列

在频繁进行字符串拼接时,不建议使用原始的字符串

String str = "abc";

str=str+"bb"+"cc";

str--->abcbbcc

StringBuilder 线程不安全: (大家一窝蜂进入) 块

StringBuffer 线程安全: (井然有序的进入) 慢

StringBuilder和StringBuffer内部的字符是可以改变的

char[] value:底层也是一个char数组,并增加了链式的理念。

但与String最大的区别是,它没有final修饰。

在这里插入图片描述

4.StringBuilder底层原理

4.1所用到的接口

在这里插入图片描述

4.2SB的默认长度是16

在这里插入图片描述

super调用父类的长度16,再append追加一个长度,即可扩容。

在这里插入图片描述

append()方法测试

在这里插入图片描述

重写调用方法,链式结构,即在原有基础上进行修改,并再返回去

在这里插入图片描述

4.3 StringBuilder的储存

StringBuilder的储存是char数组,且没有fianl修饰,即可以扩容

在这里插入图片描述

赋内容,16以内即可直接赋用

在这里插入图片描述

对比 :String内的char数组储存则有final,即不可变!在这里插入图片描述

4.4StringBuilder的执行判断

在这里插入图片描述
在这里插入图片描述

4.4.1先判断字符串是否为空,如果是空,则令str为null空串

4.4.2定义新增字符串的长度len

4.4.3确定他的容量是否在范围内,count是目前存的多少个字符+len新增的多少个字符,如果超出了长度则就会扩容。

4.4.4getChars()方法:从起始位置到结束位置,从count的位置开始插入到新的数组。

4.5StringBuilder的常用方法

链式的方法调用方式,把其自身返回回去,供我们使用

对比:

setCharAt(位置,‘字符’): 替换的是字符

replace(起始位置,末尾位置,“字符串”): 替换的是字符串

在这里插入图片描述

4.6StringBuilder的底层原理总结

StringBuilder

内部结构

char[] value; 用来存数据信息

int count; 我存了几个字符

初始的容量 16;

value数组长度 16;

调用super.append(str);
判断字符输入是否在范围内并返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值