欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

String类的常用方法

程序员文章站 2024-03-22 17:28:28
...
String类的多种常用方法
char charAt(int index) 获取给定的Index处的字符
int compareTo(String anotherString) 按照字典的方式比较两个字符串
int compareToIgnoreCase(String str) 按照字典的方式比较两个字符串,忽略大小写
String concat(String str) 将给定的字符串连接到这个字符串的末尾
static String copyValueOf(char[] data)

创建一个和给定字符数组相同的String对象

static String copyValueOf(char[] data,int offset,int count) 使用偏移量,创建一个和给定字符数组相同的String对象
boolean equals(Object anObject) 将这个String对象和另一个对象String进行比较
boolean equalsIgnoreCase(String anotherString) 将这个String对象和另一个对象String进行比较,忽略大小写
void getChars(int strbegin,int strend,char[] data,int offset) 将这个字符串的字符复制到目的数组
int indexOf(int char) 产生这个字符串中出现给定字符的第一个位置的索引
int indexOf(int ch,int fromIndex)

从给定的索引处开始,产生这个字符串中出现给定字符的第一个位置的索引

int length() 产生这个字符串的长度
boolean regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len) 检查这个字符串区域是否相等,允许忽略大小写
String replace(char oldChar,char newChar) 通过将这个字符串中的oldChar字符转换为newChar字符来创建一个新字符串
boolean starsWith(String prefix) 检查这个字符串是否以给定的前缀开头
boolean starsWith(String prefix,int toffset) 从给定的索引处开头,检查这个字符串是否以给定的前缀开头
String substring(int strbegin) 产生一个新字符串,它是这个字符串的子字符串
String substring(int strbegin,int strend) 产生一个新字符串,它是这个字符串的子字符串,允许指定结尾处的索引
char[] toCharArray() 将这个字符串转换为新的字符数组
String toLowerCase() 将这个String对象中的所有字符变为小写
String toString() 返回这个对象(它已经是一个字符串)
String toUpperCase()

将这个String对象中的所有字符变为大写

String trim() 去掉字符串开头和结尾的空格
static String valueOf(int i) 将int参数转化为字符串返回。该方法有很多重载方法,用来将基本数据类型转化为字符串

 

1、charAt 获取给定的Index处的字符

                String s1 = "Hello,Java!";
		char s2 = s1.charAt(5);
		System.out.println(s2);

 输出:,

 

2、length()产生这个字符串的长度

		String s1 = "Hello,Java!";
		String s3 = new String("你好,Java");
		int len1 = s1.length();
		int len2 = s3.length();
		System.out.println("字符串s1长度为"+len1+"\n"+"字符串s3长度为"+len2);

输出: 

字符串s1长度为11
字符串s3长度为7

3、equals将这个String对象和另一个对象String进行比较

		String s4 = "Java";
		String s5 = new String("Java");
		if(s4 == s5)
			System.out.println("s4 == s5");
		else
			System.out.println("s4 != s5");
		if(s4.equals(s5))
			System.out.println("s4 equals s5");
		else
			System.out.println("s4 not equals s5");
		

输出:

s4 != s5
s4 equals s5

4、intern()方法,如果字符串池中已经包含一个等于此String对象的字符串(用equals(Object)方法确定),则返回池中的字符串。否则,将此String对象添加到字符串池中,并返回此String对象的引用。

                
                String s4 = "Java";
		String s5 = new String("Java");
                s5 = s5.intern();
		if(s4 == s5)
			System.out.println("s4 == s5");
		else
			System.out.println("s4 != s5");
		if(s4.equals(s5))
			System.out.println("s4 equals s5");
		else
			System.out.println("s4 not equals s5");

 输出:

s4 == s5
s4 equals s5

5、+和concat方法连接字符串。

		String s6 = "Hello";
		String s7 = s6 + ",";
		String s8 = s7.concat(" Java");
		String s9 = new String(" ! ");
		String s10 = s8.concat(s9);
		System.out.println("连接而成的字符串是"+s10);
		

输出:

 连接而成的字符串是Hello, Java !

 

6、复制字符串:copyValueOf(char[] data)、copyValueOf(char[] data,int offset,int count)、getChars、toCharArray、substring(int strbegin)、substring(int strbegin,int strend)。

		String s11 = new String();
		char data[] = {'a','b','c','d','e','f'};

		s11 = String.copyValueOf(data);	//将一个和字符数组相同的String对象赋值给s11
		System.out.println("s11 = " + s11);

		s11 = String.copyValueOf(data,2,3);	//将一个和字符数组下标2开始往后的3个字符相同的String对象赋值给s11
		System.out.println("s11 = " + s11);

		s11.getChars(1,2,data,0);		//将这个字符串从下标1开始到下标2-1的字符复制到目的data数组从下标0处开始
		System.out.println("data = "+String.copyValueOf(data));	//转成字符串String对象输出

		data = s11.toCharArray();		//将字符串转换为新的字符数组,并赋值给data
		System.out.println("data = "+String.copyValueOf(data));	

		String s12 = new String();
		String s13 = new String();
		s12 = s11.substring(0);		//将s11字符串从下标0开始的字符赋值给字符串s12
		System.out.println("s12 = " +s12);

		s13 = s11.substring(1,2);		//将s11字符串从下标1开始到下标2-1的字符赋值给s13
		System.out.print("s13 = "+s13);
		

输出:

s11 = abcdef
s11 = cde
data = dbcdef
data = cde
s12 = cde
s13 = d

 

7、 字符串中查找字符和字串charAt、indexOf、lastIndexOf。

		String s14 = "Javav";
		char c = s14.charAt(2);		//获取字符串s14索引2处的字符,并赋值给c
		System.out.println("c = "+c);
		int i = s14.indexOf('a');		//产生字符串s14中第一次出现字符a位置的索引,并赋值给i
		System.out.println("fistchar = "+i);
		int j = s14.lastIndexOf('a');		//产生字符串s14中最后一次出现字符a位置的索引,并赋值给j
		System.out.println("lastchar = "+j);
		i = s14.indexOf("av");		//产生字符串s14中第一次出现字符串av位置的索引,并赋值给i
		System.out.println("fiststring = "+i);
		j = s14.lastIndexOf("av");		//产生字符串s14中最后一次出现字符串av位置的索引,并赋值给j
		System.out.println("laststring = "+j);

输出:

c = v
fistchar = 1
lastchar = 3
fiststring = 1
laststring = 3

 

待续.......