String类
Posted 超霸霸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类相关的知识,希望对你有一定的参考价值。
String类
- length()方法
返回字符串的长度
String str="asd";
//返回字符串的长度
int len=str.length();
System.out.println(len)
结果为:
3
- compareTo()方法
String
类中的compareTo()
方法将返回两个字符串对象的比较结果,若相等,返回0
。不相等时,从两个字符串第1
个字符开始比较,返回第一个不相等的字符差;另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
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()方法
截取字符串
//第一种方法 substring(int start)
String str="hello world";
System.out.println(str.substring(1)); //ello world!
System.out.println(str.substring(3)); //lo world!
System.out.println(str.substring(6)); //world!
//第二种方法 substring(int start, int end)
String str = "hello world!";
System.out.println(str.substring(1, 4)); //ell
System.out.println(str.substring(3, 5)); //lo
System.out.println(str.substring(0, 4)); //hell
【注意】:第二种方法截取的范围是[ start,end )的半开半闭区间
- indexOf()方法
indexOf()方法用于在String类的对象中查找子字符串,方法返回一个整数值,为子字符串的开始位置,若存在多个子字符串,返回数值最小的整数值;如果没有找到子字符串,返回-1
String str = "basabcdefghabcklmnabc";
System.out.println(str.indexOf("abc")); //结果为3,为字符"abc"第一次出现的位置
System.out.println(str.indexOf("qqq")); //结果为-1
- lastIndexOf()方法
查找str子字符串最后一次出现的位置
String str = "abcdefghabcklmnabc";
System.out.println(str.lastIndexOf("abc")); //结果为15,为字符"cde"最后一次出现的位置
System.out.println(str.lastIndexOf("qqq")); //结果为-1
- equals()方法
将该字符串与指定对象比较,返回true或false
String s1="aaa";
String s2="aaa";
String s3="bbb";
System.out.println(s1.equals(s2)); //true
System.out.println(s1.equals(s3)); //false
- trim()方法
返回取出了前后空格的字符串
String s=" aa a ";
//去掉字符串的前后空格
System.out.println(s.trim());
输出结果为:
aa a
- split()方法
将字符串按照str来分割,分割之后返回一个字符串数组
String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++)
{
System.out.println(names[i]);
}
输出结果为:
张三
李四
王五
赵六
StringBuffer类
StringBuffer
类和String
类一样,也用来代表字符串,只是由于StringBuffer
的内部实现方式和String
不同,StringBuffer
在进行字符串处理时,不生成新的对象,所以在内存使用上,StringBuffer
类要优于String
类
- append()方法
append()
方法的作用是追加内容到当前StringBuffer
对象的末尾,类似于字符串的连接
StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.append("World!");
System.out.println(stringBuffer);
输出结果:
HelloWorld!
- reverse()方法
reverse()
方法将把当前字符序列反转后返回
StringBuffer stringBuffer = new StringBuffer("abc");
System.out.println(stringBuffer.reverse());
输出结果:
cba
StringBuffer对象和String对象互转
StringBuffer
和String
属于不同的类型,也不能直接进行强制类型转换,正确的转换方式如下:
String string1 = "Hello World!";
StringBuffer stringBuffer = new StringBuffer(string1); //String转换为StringBuffer
String string2 = stringBuffer.toString(); //StringBuffer转换为String
以上是关于String类的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用