常用方法如下:

1.获取字符串长度:     
       

strmsg.length();

2.字符串转为字节:
        

strmsg.getBytes();

3.截取字符串 从第几位开始
     

strmsg.substring(int beginIndex);

4.截取字符串 从第几位开始到第几位结束
        

strmsg.substring(int beginIndex,int endIndex);

5.比较两个字符串是否相等,后者不区分大小写
 

strmsg.equals(anObject);
        strmsg.equalsIgnoreCase(anotherString);

6.替换字符串中的某个字符
        

strmsg.replace(oldChar, newChar);

7.去除收尾空格
      

strmsg.trim();

8.获取从第几位到第几位的字符数组
       

strmsg.getChars(int srcBegin, int srcEnd, char dst[], int dstBegin);

9.将字符串转为字符数组
      

strmsg.toCharArray();

10.比较两个字符串大小,后者不区分大小写
 

strmsg.compareTo(String anotherString);
        strmsg.compareToIgnoreCase(String str);

11.字符串以suffix字符串开始,结束
 

strmsg.startsWith(suffix);
        strmsg.endsWith(suffix);

测试代码:

package demo;

public class StringUtils {
	public static void main(String[] args) {
		StringDemo();
	}
	public static void StringDemo() {
		String strmsg="are you ok!";
//		length()字符串长度
		System.out.println("字符串长度:"+strmsg.length());
//		charAt(2)截取一个字符
		System.out.println("字符:"+strmsg.charAt(2));
//		getchars()截取多个字符并由其他字符串接收
		char[] ss=new char[10];
		strmsg.getChars(0, 6, ss, 0);
		System.out.println("截取字符串到字符数组:"+new String(ss));
//		getBytes()将字符串变成一个byte数组
		System.out.println("byte数组"+new String(strmsg.getBytes()));
//		 toCharArray()将字符串变成一个字符数组
		char[] b=strmsg.toCharArray();
		System.out.println("字符数组:"+new String(b));
//		equals()和equalsIgnoreCase()比较两个字符串是否相等,前者区分大小写,后者不区分
		System.out.println("比较两个字符串是否相等:"+strmsg.equals("are you ok!"));
		System.out.println("比较两个字符串是否相等(不区分大小写):"+strmsg.equalsIgnoreCase("are you OK!"));
//		startsWith()和endsWith()判断字符串是不是以特定的字符开头或结束
		System.out.println("判断字符串以什么开头:"+strmsg.startsWith("are"));
		System.out.println("判断字符串以什么结束:"+strmsg.endsWith("ok"));
//		toUpperCase()和toLowerCase()将字符串转换为大写或小写
		System.out.println("字符串转大写:"+strmsg.toUpperCase());
		System.out.println("字符串转小写:"+"ARE YOU OK".toLowerCase());
//		concat() 连接两个字符串
		System.out.println("连接字符串:"+strmsg.concat("AREYOUOK"));
		System.out.println("拼接字符串:"+"AREYOUOK".concat(strmsg));
//		trim()去掉起始和结束的空格
		System.out.println("去掉开始结束空格:"+strmsg.trim());
		System.out.println("去掉开始结束空格:"+"  ARE YOU OK  ".trim());
//		substring()截取字符串
		System.out.println("截取字符串结果:"+strmsg.substring(5));
		System.out.println("截取字符串结果:"+"AREYOUOK".substring(5 ,8));
//		indexOf()和lastIndexOf()前者是查找字符或字符串第一次出现的地方,后者是查找字符或字符串最后一次出现的地方
		System.out.println("查找第一次出现位置:"+strmsg.indexOf("are"));
		System.out.println("查找第一次出现位置:"+strmsg.indexOf("are11"));
		System.out.println("查找第一次出现位置:"+strmsg.lastIndexOf("k"));
//		compareTo()和compareToIgnoreCase()按字典顺序比较两个字符串的大小,前者区分大小写,后者不区分
		System.out.println("aaaaa".compareTo("aaaaa"));
		System.out.println("aaaaa".compareTo("bbbbb"));
		System.out.println("aaaaa".compareToIgnoreCase("AAAAA"));
//		replace() 替换
		System.out.println("替换结果打印:"+strmsg.replace("o", "O"));
	}
}

测试输出结果:

字符串长度:11
字符:e
截取字符串到字符数组:are yo
are you ok!
字符数组:are you ok!
比较两个字符串是否相等:true
比较两个字符串是否相等(不区分大小写):true
判断字符串以什么开头:true
判断字符串以什么结束:false
字符串转大写:ARE YOU OK!
字符串转小写:are you ok
连接字符串:are you ok!AREYOUOK
拼接字符串:AREYOUOKare you ok!
去掉开始结束空格:are you ok!
去掉开始结束空格:ARE YOU OK
截取字符串结果:ou ok!
截取字符串结果:UOK
查找第一次出现位置:0
查找第一次出现位置:-1
查找第一次出现位置:9
0
-1
0
替换结果打印:are yOu Ok!

总结:

equals的效率高些,compareTo其实就是按照编码的数值求差值,根据差值进行比较,它能确定两个String在字典顺序上的前后性,当你只是想知道是否一致时,用equals也行,效果一样。


另外,equals是Object的方法,要求涉及到比较操作的继承类要自己重写该方法,所以String重写了equals,而compareTo为String的方法。所以:
value1.compareTo(value2),当value1不为String类型时,会报错。
但是Object类 只有.equals(),没compareTo
Object是根类,它有的方法,其他类都可以继承,使用.所以.equals 基本随时能用.


一、对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
 1、“==”比较两个变量本身的值,即两个对象在内存中的首地址。
(java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象的各个参数,而通过这个首地址就可以找到该对象,进而可以找到该对象的各个属性)
 2、“equals()”比较字符串中所包含的内容是否相同。
String s1,s2,s3 = "abc", s4 ="abc" ;
        s1 = new String("abc");
        s2 = new String("abc");
        System.out.println("s1==s2:"+(s1==s2));
        System.out.println("s1==s3:"+(s1==s3));
        System.out.println("s1==s4:"+(s3==s4));
        System.out.println("s1.equals(s2):"+(s1.equals(s2)));
        System.out.println("s1.equals(s3):"+(s1.equals(s3)));
        System.out.println("s3.equals(s4):"+(s3.equals(s4)));
s1==s2:false
s1==s3:false
s1==s4:true
s1.equals(s2):true
s1.equals(s3):true
s3.equals(s4):true
开发中尽量用equals。