String 相关内容: 涉及到 字节与字符的区别,编码与解码,String的常用方法, 字符串池,String StringBuffer StringBuild 的区别
编码与解码
在我们工作中经常会涉及到乱码的问题出现该问题就是编码与解码不一致
由于计算机只识别二进制 bit 0,1 在java 中以最小单元字节byte操作,在英文中的26个字母和其他符号足以用一个字节来表示而中文以及其他各国语言用字节来表示肯定达不到,由此产生了字符来表达. 要想编码得有个编码表 分为 ASCII 码表 和非ASCII码表,这里不细说码表在ASCII码表中有俩种常见的 Unicode 和 uft-8 俩个码表. 编码就是字符—字节 ,而解码就是字节–字符
字节与字符
字节上面说到了,而字符也是基本数据类型 ,就是由多个字节组成如 多个字节<—-码表—->字符
String
String : 字符串就是字符数组, 方法: String substring(int beginIndex, int endIndex) 是不包含endIndex索引
String 的字符串池
对于String 常量 如 String str = “abc”; “abc” 是用字符串池技术避免重复创建
String StringBuffer StringBuild 的区别
它们区别在于当字符串进行拼接等修改操作时,不可变字符串会创建新的字符串对象,而可变字符串不会创建新对象。而String是不可变字符串,而 StringBuffer和StringBuild是可变字符串,由此有大量的拼接操作推荐用 字符串缓冲区:StringBuffer StringBuild 而StringBuffer 是线程安全的 StringBuild 是线程不安全的