选用教材:《Java核心技术卷一》
第三章 Java的基本程序设计结构
3.6 字符串
和C语言相比,组成java字符串的每一个字符,不仅可以是常见的例如A、a等大小写英文字母和数字;也可以是常见的数学符号例如π等,还可以是非常函件的那些字符。总而言之,只要是包括在Unicode字符集里的字符,就都能用来组成字符串。
3.6.1 子串
1、substring方法
用法:Str.substring(X,Y) 从大字符串中取一个小字符串
X是代码起始的复制位,Y是不希望代码复制的位置。也就是说子串从代码单元X的位置,复制到Y-1的位置
2、和其他的语言一样,java中的代码单元同样从0开始计数
3.6.2 拼接
1、java中用+号连接两个字符串
2、当相加的两个值,其中有一个不是String类型的,那么最后的结果会是String类型的
3、String类型的join方法
用法:Str.join(“X”,“Y”,“Z”)将几个字符串合到一起
得到结果:“XYZ”
4、repeat方法
用法:Str.repeat(3)将Str这个字符串连续复制3次
得到结果:StrStrStr
3.6.3 不可变字符串
我的理解是,给定一个字符串以后,它就存到一个地方固定不变了,自然地,值也是不可改变的。所以要想再得到和它一样的字符串,只能通过拼接等方法来实现。
3.6.4 检测字符串是否相等
1、用equals方法(区分大小写)
用法:Str1.equals(Str2),相等则返回true,不相等则返回false
这里的字符串既可以是字面量(“Str”)也可以是变量名(Str)
2、用equalsIgnoreCase方法(不区分大小写)
将上面的equals换成equalsIgnoreCase即可
3.6.5 空串与Null串
空串是长度为0或者说为空的字符串,Null串是指没有任何对象与之相关的字符串
3.6.6 码点与代码单元
1、代码单元:是编程工作里最小的工作单位,java中的char类型便是在这一层进行编译
码点:代表一个字符
2、常规字符(字符串)的码点和代码单元,从总长度上来看是一样的;但有些特殊的字符,它往往会占用2个代码单元,所以它们总的代码单元数比码点数要多
3、length方法
用法:Str.length()用来计算某一字符串代码单元的数量
2、codePointCount方法:
用法:Str.codePointCount(0,Str.length())用来计算某一字符串码点的数量,即该字符串的实际长度
3、charAt(n)
用法:Str.charAt(n)返回位置为n的代码单元
书中特别指出最好不要使用这个函数,因为它太底层了
4、得到第i个码点:
int index = greeting.offsetByCodePoints(0,i);
int cp = greeting.codePointAt(index);
3.6.7 String API
略
3.6.8 阅读联机API文档
略
3.6.9 构建字符串
使用StringBuilder方法构建字符串:
1、第一步:先构建一个空的字符串构造器
StringBuilder builder = new StringBuilder();
2、调用append方法,添加新内容
builder.append(Str);
3、调用toString方法,生成一个String对象
String Str = builder.toString();
原文:https://www.cnblogs.com/yizhinailu/p/12430762.html