0814总结

0814总结

StringBuffer

1、线程安全的可变字符序列(可变的字符串) JDK1.0
2、一个类似于 String 的字符串缓冲区
3、某些方法调用可以改变该序列的长度和内容 append() insert()添加

String 和 StringBuffer

相同点:都是对字符序列进行操作
不同点
1、String 的数据是不可变的,StringBuffer 的内容是可变的
2、StringBuffer 自带缓存区,读取数据块,效率更高

StringBuffer的构造:

//无参构造
StringBuffer()

默认会给16个字符大小的缓冲区(capacity() 是获取缓冲区容量的大写)
StringBuffer(int capacity) 会默认给一个容量的大小值

StringBuffer常规的方法
追加

1、向末尾追加数据

StringBuffer s=new StringBuffer("我爱你中国");
s.append("真的爱你");

2、向指定位置追加数据

s.insert(3,"我的");
//结果为:我爱你我的中国
//"3"代表要插入的位置(索引),"我的"代表要插入的东西
删除

1、根据索引进行删除

s.deleteCharAt(2);
//"2"为索引值

2、根据区间进行删除

s.delete(2,4);
//包头不包尾
获取

根据索引获取字符

System.out.println(s.charAt(2));

查找是否存在这个字符

System.out.println(s.indexOf("我")); 
//存在返回当前的索引,不存在返回-1

获取字符串的长度

System.out.println(s.length());

根据区间来进行替换

s.replace(2,3,"他");
//包头不包尾

控制翻转

s.reverse();

转换成String

s.toString();
String转换成一个StringBuffer :

通过构造方法:new StringBuffer(“abc”);
通过调用其append:

StringBuffer str=new StringBuffer().append("abc");
StringBuffer 转换成一个 String

通过toString()
通过String构造方法:new String(s)

StringBuilder

1、一个可变的字符序列
2、多个线程是不安全的

StringBuffer 与 StringBuilder 的区别

版本不一样:StringBuffer 1.0 多线程安全、 效率低 (开发里使用这个多一点)
StringBuilder 1.5 多线程不安全 、效率高

包装类

包装类型
int ==> Integer
char ==> Character
其它的包装类型都是把首字母换成大写

包装类型的好处
1、使用包装类型的方法
2、类型的相互转换
3、集合里的数据类型都必须是引用数据类型

Integer

类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段

构造方法:

public Integer(int value)
public Integer(String s)该构造传递的参数是 String 类型,但是必须是数字,否则就会出现异常(java.lang.NumberFormatException)

常量

获取int类型最大的值:public static final int MAX_VALUE
获取int类型最小的值:public static final int MIN_VALUE
获取 int 类型的位数:public static final int SIZE

常规的方法

返回值是一个 byte:public byte byteValue()
把String转换成int类型的方法(最常用):public static int parseInt(String s)
把 int 类型转换成二进制:public static String toBinaryString(int i)
把 int 类型转换成八进制:public static String toOctalString(int i)
把 int 类转换为十六进制:public static String toHexString(int i)
把int 类型转换成包装类:public static Integer valueOf(int i)
注意:相互转换的时候不要超过最大的范围

String 转换成 int 类型的三种方式

1、通过构造 new Integer()
2、通过parseInt(String s)(常用)
3、valueOf(String str)

int 类型转换成 String 类型

1、new String(int i)
2、拼接 +""(常用)
3、toString()方法

int 类型转换成 Integer 类型

1、通过构造方法 new Integer()
2、valueOf(int i)

Intege 转换成 int 类型

1、intValue()
2、直接赋值(Integer i = 10)

自动包装:把基本数据类型转换成包装类 (穿了一层衣服)
自动拆箱:把包装类转换成基本数据类型(拖了这一层衣服)
在 jdk 1.5 之后会自动包装,自动拆箱
手动装箱 :Integer integer = new Integer(10);
手动拆箱 : intValue();

正则表达式

就是一个字符串(效验规则的字符串),主要是做验证,把复杂的问题简单化,但是其记忆量很大,而且不一定写的对
语法:matches(String regex) 检验这个正则与该字符串是否匹配

字符类

[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

预定字符类

. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]

Greed数量词

X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

正则的三个方法

1、比较 matches(str)
2、split("")
3、replaceAll(reg,"")

作业

在进行.equals判断时,要先将StringBuffer类型先转化为String类型才可以比较,否则将一直相等。

分割字符串后,进行完所需要的操作后,遍历输出时会自动换行。若想不换行,可以提前定义一个变量去接收它

String  str="To be or not to be";
String []arr=str.split(" ");
StringBuffer rra=new StringBuffer();  //定义接收的变量
for (String word:arr){
    rra.append(new StringBuffer(word).reverse()+" "); //利用字符串的追加进行拼接。
}
System.out.println(rra);
(1)普通用户端(全平台) 音乐播放核心体验: 个性化首页:基于 “听歌历史 + 收藏偏好” 展示 “推荐歌单(每日 30 首)、新歌速递、相似曲风推荐”,支持按 “场景(通勤 / 学习 / 运动)” 切换推荐维度。 播放页功能:支持 “无损音质切换、倍速播放(0.5x-2.0x)、定时关闭、歌词逐句滚动”,提供 “沉浸式全屏模式”(隐藏冗余控件,突出歌词与专辑封面)。 多端同步:自动同步 “播放进度、收藏列表、歌单” 至所有登录设备(如手机暂停后,电脑端打开可继续播放)。 音乐发现与管理: 智能搜索:支持 “歌曲名 / 歌手 / 歌词片段” 搜索,提供 “模糊匹配(如输入‘晴天’联想‘周杰伦 - 晴天’)、热门搜索词推荐”,结果按 “热度 / 匹配度” 排序。 歌单管理:创建 “公开 / 私有 / 加密” 歌单,支持 “批量添加歌曲、拖拽排序、一键分享到社交平台”,系统自动生成 “歌单封面(基于歌曲风格配色)”。 音乐分类浏览:按 “曲风(流行 / 摇滚 / 古典)、语言(国语 / 英语 / 日语)、年代(80 后经典 / 2023 新歌)” 分层浏览,每个分类页展示 “TOP50 榜单”。 社交互动功能: 动态广场:查看 “关注的用户 / 音乐人发布的动态(如‘分享新歌感受’)、好友正在听的歌曲”,支持 “点赞 / 评论 / 转发”,可直接点击动态中的歌曲播放。 听歌排行:个人页展示 “本周听歌 TOP10、累计听歌时长”,平台定期生成 “全球 / 好友榜”(如 “好友中你本周听歌时长排名第 3”)。 音乐圈:加入 “特定曲风圈子(如‘古典音乐爱好者’)”,参与 “话题讨论(如‘你心中最经典的钢琴曲’)、线上歌单共创”。 (2)音乐人端(创作者中心) 作品管理: 音乐上传:支持 “无损音频(FLAC/WAV)+ 歌词文件(LRC)+ 专辑封面” 上传,填写 “歌曲信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值