Java总结 4 字符串类型

字符串类型
在Java中表示字符串有三种预定义类型String、StringBuilder、StringBuffer

String类型
String ss=”asdfasdf als\nkfv”; 注意如果使用双引号则表示是引用类型,如果单引号就是简单类型char
方法:
length():int 表示字符串类型中的字符个数 Java中的字符采用的是Unicode编码字符集,所以这里并不区分中英文字符
charAt(int):char 获取指定下标位置的字符
(1)
8种简单类型及其包装类和字符串之间的转换
int—String
int kk=100;
String ss=kk+””;
String—int
int kk=Integer.parseInt(str) 如果转换失败则报错

+和+=运算符
Java的字符串类型中+和+=被重新定义了,表示的是字符串拼接计算
concat

compareTo方法用于字符串的比较
int compareTo(String anotherString);如果当前字符串与参数字符串完全相同,则compareTo()方法返回0;如果当前字符串按字母序大于参数字符串,则compareTo()方法返回大于0的整数;反之,则返回小于0的整数

相等判定
==比较地址
equals和equalsIgnoreCase比较字符串内容

字符串中子串的查找
int indexOf(String str)从左向右开始查找str的起始下标,如果查找不到返回-1
int indexOf(String str, int fromIndex)从指定下标位置fromInde开始左向右查找str的下标

(2)
例:定义一个方法获取一个字串中另外一个字符串出现的位置,如果查找不到返回-1,如果查找的到则返回第二次出现的位置,如果没有第二次出现的位置则返回-2,如果查找条件不成立则返回-3
(3)
int lastIndexOf(String str)从右向左开始查找str的起始下标
int lastIndexOf(String str, int fromIndex)从指定下标位置fromInde开始右向左查找str的下标

(4)
(5)

endsWith(“str”):boolean 判断字串是否以str为结尾
boolean startsWith(String )判断字串是否以string为开头
(6)

substring(int):String 获取字符串从int下标位置开始到字符串结尾为止的所有内容,包含int位置上的字符
(7)

substring(int起始下标, int 终止下标):String获取字符串从int下标位置开始到第二个int结尾为止的所有内容,含左不含右
需求:分析一个文件路径的各个部分C:\Windows\System32\en-US\adsldp.dll.mui
注意在字符串中不能出现\,因为单斜杠的含义是转义字符,所以需要写成反斜杠或者两个斜杠
(8)

需求:
获取指定字符串asdkbfasldkbnv,cnvzxnkbjfdfkd中kd的出现次数
(9)

str.replace(String1,String2) 将str字符串中的String1内容替换为String2,注意这里没有要求String1和String2的长度相等
(10)

要求:计算str字符串中”kd”的出现次数
(11)

Java的StringBuffer和StringBuilder类
针对String类型的字符串进行修改操作时一定会引发对象的新建。如果需要在程序中多次的针对String类型数据进行修改,则一定会导致执行效率低下

(12)

当对字符串进行频繁修改的时候使用String则效率低下,所以一般建议使用StringBuffer和StringBuilder类。和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改且不产生新对象,就是原地操作。
StringBuilder类在Java 5中被提出,它和StringBuffer间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。
StringBuffer类支持的主要方法:
StringBuffer append(String s)将指定的字符串追加到此字符序列。

(13)
StringBuffer reverse()将此字符序列用其反转形式取代。
(14)

例如:判断一个字符串是否为回文串 12321就是回文串
定义:回文串是一个正读和反读都一样的字符串,比如level或者noon等就是回文串
(15)

delete(int start, int end)移除此序列的子字符串中的字符。

(16)

insert(int offset, int i)将 int 参数的字符串表示形式插入此序列中。

在这里插入图片描述
replace(int start, int end, String str)使用给定 String 中的字符替换此序列的子字符串中的字符。
(18)

下面的方法和String类的方法类似:
int capacity()返回当前容量。
(19)

char charAt(int index)返回此序列中指定索引处的 char 值。
int indexOf(String str)返回第一次出现的指定子字符串在该字符串中的索引。
int indexOf(String str, int fromIndex)从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
int lastIndexOf(String str)返回最右边出现的指定子字符串在此字符串中的索引。
int lastIndexOf(String str, int fromIndex)返回 String 对象中子字符串最后出现的位置。
int length() 返回长度(字符数)。length是真实存放了多少个字符capacity是不变化容器就可以直接存放的字符个数,capacity会随着真实存放的字符个数增长
void setCharAt(int index, char ch)将给定索引处的字符设置为 ch。
String substring(int start)返回一个新的 String,它包含此字符序列当前所包含的字符子序列。
String substring(int start, int end)返回一个新的 String,它包含此序列当前所包含的字符子序列。
String toString()返回此序列中数据的字符串表示形式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值