3.6 字符串
相比C语言的字符串,Java中的字符串有更多的方法,设计理念上也有些不同。
Java中的字符串与Python的字符串类似,给某一变量赋值的操作实际上是一种将字符串在内存中的地址与变量相关联起来的操作。
Java字符串有更多的方法,便于programmer进行操作。判断两个字符串是否相同,使用.equals()方法。两字符串的连接可以直接相加,截取某一部分使用.substring(start_index,end_index),与Python类似,截取的字符串不包含end_index上的字符。这样的好处是,截取字符个数直接用end_index - start_index即可,不需要再+1。
与Python和C不同的是,Java中字符串可以与非字符串的值进行相加操作,当然后者将会被转换成字符串。多个字符串放在一起并且使用同一个定界符分隔时,使用.join()方法。
String all = String.join(" / ", "S", "M", "L", "XL");
这样的实际字符串的值是"S / M / L / XL"
String类没有修改字符串的方法。
空串与Null串是不同的,需要区分。空串只是字符串的长度为0,检测是否为空串用.length()方法,看是否为0,而是不是Null就要用Str == Null来判断。
1、代码单元数量(str.length()不是实际的字符串长度:辅助字符算两个)
2、码点数量(实际的字符的个数,辅助字符算一个)
.charAt()方法 //获取代码单元
.offsetByCodePoints(0, i)以及.codePointAt()组合使用用来获得第i个码点
char.isSupplementaryCodePoint(int index) //用来判断某个代码单元是不是辅助字符
遍历字符串可以用.codePoints()方法,再用toArray方法将其转换成数组。
• boolean equalsIgnoreCase ( S t r i n g other )
boolean startsWith ( S t r i n g p r e f i x )
String toLowerCase()
String toUpperCase()
String trim() 去除首位空格,不同于Python中的alltrim()
构建字符串使用StringBuilder类,常用API有:length(),append(),insert(),delete()
来源:https://www.cnblogs.com/penguin1022/p/12263013.html