Java || String类对象知识总结:length + compare To + indexOf + StringBuffer类

目录

(一)String类对象创建

(二)length方法      string.length()

(三)compareTo()方法      s1.compareTo(s2)

(四)substring()方法

(五)indexOf()方法 

(六) StringBuffer类的定义和使用

1. StringBuffer类的对象的初始化

2. append()方法

3. reverse()方法

4. StringBuffer对象和String对象互转

5. split方法 ( 切割 

(一)String类对象创建

/***创建空的String类的对象***/
String string = new String();

/***创建非空(有字符串内容的)String类的对象***/
String string1 = "Hello World";  //string1字符串内容为"Hello World"
String string2 = "";  //string2字符串内容为空

(二)length方法      string.length()

String string = "abcd";//创建
int len = string.length();//长度定义
System.out.println(len)//输出

>>>4

(三)compareTo()方法      s1.compareTo(s2)

/***字符串比较***/
String s1 = "abc"; //3     '97'>>a
String s2 = "abcd";//4
String s3 = "abcdfg";//6
String s4 = "1bcdfg";      '49'>>1
String s5 = "cdfg";        '99'>>c

//情况1:较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
//情况2:返回第一个不相等的字符差
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

(四)substring()方法

1. 用法1:

String.substring(int start)
//start为要开始截取的位置的索引,方法将返回一个字符串,
//内容为原字符串从start位置开始到原字符串结束中间的数据。

 举例:

String str = "hello world!";
System.out.println(str.substring(1));
System.out.println(str.substring(3));
System.out.println(str.substring(6));
>> ello world!
>> lo world!
>> world!
//如果start大于字符串的长度,将会抛出越界异常。

2. 用法2:

String.substring(int start, int end)
//start为开始位置索引,end为结束为止索引,方法将返回一个字符串,内容为原字符串从start位置开始到end位置结束中间的数据。

举例: 

String str = "hello world!";
System.out.println(str.substring(1, 4));
System.out.println(str.substring(3, 5));
System.out.println(str.substring(0, 4));
>> ell
>> lo
>> hell

(五)indexOf()方法 

indexOf()方法用于在String类的对象中查找子字符串,方法返回一个整数值,为子字符串的开始位置,若存在多个子字符串,返回数值最小的整数值;如果没有找到子字符串,返回-1

String str = "abcdefghijklmnabc";
System.out.println(str1.indexOf("c"));  //结果为2,为字符"c"第一次出现的位置
System.out.println(str1.indexOf("x"));  //结果为-1,没有找到字符"x"
string.indexOf(searchValue)
string.indexOf(searchValue, fromIndex)

indexOf 是 JavaScript 字符串对象的一个方法,它用于查找一个字符串中指定子字符串的位置。具体来说,它可以用于:

  1. 查找字符串中某个字符或子字符串第一次出现的位置;
  2. 指定的位置开始查找字符串中某个字符或子字符串第一次出现的位置。
  • string:要查找的字符串。
  • searchValue:要查找的字符串值,可以是一个字符或一个子字符串。
  • fromIndex:可选参数,从该索引处开始查找第一次出现的位置。如果省略该参数,则默认从字符串的起始位置开始查找。

indexOf 方法返回一个整数值,表示 searchValue 在 string 中第一次出现的位置。如果没找到,会返回 -1。

var str = "Hello world!";
var pos = str.indexOf("world");
console.log(pos); // 输出 6
//我们在字符串 str 中查找子字符串 "world" 的位置,它在字符串中第一次出现的位置是 6。

(六) StringBuffer类的定义和使用

StringBuffer类和String类一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,所以在内存使用上,StringBuffer类要优于String

1. StringBuffer类的对象的初始化

StringBuffer stringBuffer = new StringBuffer();//空对象
StringBuffer stringBuffer = new StringBuffer("Hello World!");

2. append()方法

append()方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接,请看示例:

StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.append("World!");
System.out.println(stringBuffer);
>> HelloWorld!

3. reverse()方法

将把当前字符序列反转后返回

StringBuffer stringBuffer = new StringBuffer("abc");
System.out.println(stringBuffer.reverse());
>>cba

4. StringBuffer对象和String对象互转

注意,StringBuffer和String属于不同的类型,也不能直接进行强制类型转换,下面的代码都是错误的:

StringBuffer s = "abc";  //赋值类型不匹配
StringBuffer s = (StringBuffer)"abc";  //不存在继承关系,无法进行强转
正确的对象之间互转代码如下:

String string1 = "Hello World!";
StringBuffer stringBuffer = new StringBuffer(string1);  //String转换为StringBuffer
String string2 = stringBuffer.toString();  //StringBuffer转换为String

5. split方法 ( 切割 )

String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++) {
    System.out.println(names[i]);
}
>>
张三
李四
王五
赵六

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值