目录
(三)compareTo()方法 s1.compareTo(s2)
(一)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 字符串对象的一个方法,它用于查找一个字符串中指定子字符串的位置。具体来说,它可以用于:
- 查找字符串中某个字符或子字符串第一次出现的位置;
- 从指定的位置开始查找字符串中某个字符或子字符串第一次出现的位置。
- 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]);
}
>>
张三
李四
王五
赵六