Java编程思想笔记(十三):字符串

String

String对象是不可变的。只读特性,指向它的任何引用都不能改变它的值。
只重载了+ 和 +=两个操作符,效率低,慎用。

方法 应用
length() String中字符的个数
charAt() String在该索引位置上的char
getChars(),getBytes() 复制chars, bytes到目标数组中
toCharArray() 生成char[]
equals(),equalsIgnoreCase() 比较两个String是否相同,equalsIgnoreCase不考虑大小写
compareTo() 按字典序比较String的内容,相等为零,靠前为负
contains() 是否包含要搜索的charSequence
contentEquals() 比较charSequence或StringBuffer是否与String对象的内容完全一致
regionMatcher() 两个String比较区域是否相等
startWith(),endWith() 是否以某个String为前缀,后缀
indexOf(),lastIndexOf() 起始索引(最后的索引)
substring() 子字符串
concat() 原始String链接新String
replace() 替换字符(或CharSequence)后的新String
toLowerCase(),toUpperCase() 大小写转换
trim() 删除两端的空白
valueOf() 表示参数内容的String
intern() 为每一个唯一的字符序列生成一个且仅生成一个String引用
split() 将String从正则表达式匹配的地方切开,匹配到的部分被舍弃
replaceFirst(). replaceAll() 替换正则表达式匹配的地方

当需要改变字符串内容时,都会返回一个新的String对象,如果没有发生内容改变,就返回原始对象的引用!

StringBuilder

insert(),replace(),substring(),reverse(),append(),toString(),delete()

格式化输出

System.out.format()

和c中printf()等价

Formatter类

java.util.Formatter 将格式化字符串与数据翻译成需要的结果,创建时需要向构造器传递信息,告诉它最终结果输出到哪里。

Formatter f = new Formatter(System.out);

String.format()

接受和Formatter.format()一样的参数,返回一个String

格式化说明符

%[argument_index$][flags][width][.percision]conversion
width 可以应用于各种类型的数据转换,用来控制一个域的最小尺寸,默认右对其,可以用-改变对齐方向
percision 用于String时,表示输出字符的最大数量;用于浮点数时,表示小数部分的位数,位数不够补0

类型转换字符

符号意义
d十进制整数
cUnicode字符
bBoolean
sString
ffloat
efloat(科学计数)
x十六进制整数
h十六进制散列码
%字符%

tips

  • append(a+":"+c) 编译器会使用两个StringBuilder
  • 如果一个类重载了toString并且要在toString中打印内存地址,print(this)会导致无限递归,应该用print(super)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值