👉引言💎
铭记于心 | ||
---|---|---|
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉 |
String与Arrlist API
String,StringBuilder,StringBuffer
1.String的内容是不可变的,而StringBuilder、StringBuffer内容是可变的;
2.StringBuffer是同步的,多线程中确保数据安全,效率低;
3.StringBuilder是不同步的,多线程中无法保证数据安全,效率高,一般单线程中较常见;
常用API
StringBuilder转换为String
public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
String转换为StringBuilder
public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
a)转换为字节数组和字符数组,再回转
byte[] getBytes(String str)
char[] toCharArray()
String valueOf(byte[] bys)
String vlaueOf(char[] chs)
b)大小写转换
String toLowerCase()
String toUpperCase()
java中String是一个字符串类,对象为字符串常量,是不可被修改的,而C++里的String是一个容器,所以[i]这种可以直接对其修改
StringBuilder可以被看成是一个容器
java不支持隐式类型强制转换,比如double型赋值给int型在cpp中会去掉小数部分,而java对其报错(但char num=98这种不算类型转换,因为从底层ascll码角度上讲,这两个是等价的)
java中比较:引用类型比较地址,基本类型比较数值,Cpp中比较:是什么比什么,类对象比较需要重载运算符
String内存图分析
🌹写在最后💖:
相信大家对今天的集训内容的理解与以往已经有很大不同了吧,或许也感受到了算法的魅力,当然这是一定的,路漫漫其修远兮,吾将上下而求索!伙伴们,明天见!🌹🌹🌹