标签:
1.概述
String 类适用于描述字符串事务。提供了多种对字符串进行操作的方法。
> 字符串的最大的特点:一旦被初始化就不能被改变。
2.常见的操作方法:
2.1 获取:
1 public class StringText1 {
2 public static void main(String srgs[])
3 {
4 // str 是一个类类型变量,"abc"是一个对象。
5 String str = "hello java!" ;
6 // str 和 str1 的区别在于:str 内存中有一个对象,而str1 内存中有两个对象。
7 String str1 = new String("hello java!") ;
8
9 sop(str.length()) ;
10 for(int i = 0 ; i < str.length() ; i ++ )
11 sop(str.charAt(i)) ;
12 sop(str.indexOf(‘a‘)) ;
13 sop(str.indexOf(‘a‘,7)) ;
14
15 sop(str.indexOf("java")) ;
16 sop(str.lastIndexOf(‘a‘)) ;
17 }
18 // 打印函数:
19 public static void sop(Object obj)
20 {
21 System.out.println(obj);
22 }
23 }
1、字符串中包含的字符数,即字符串的长度; int length() ;
注意:String 类的 length() 是一个方法; 而 char 类型数组调用的length , 是属性。
2、 根据位置获取位置上某个字符。 char charAt(int index) ; index 是下标。
3 、根据字符获取该字符在字符串中的位置。
int indexOf(int ch) ; 返回的是 ch 在字符串中第一次出现的位置。其中 ch 是字符的ASCII 码。
int indexOf(int ch , int fromIndex) ; 从fromIndex 指定位置开始,在字符串中第一次出现的位置.
int indexOf(String st) ; 返回的是 st 在字符串中第一次出现的位置。
int indexOf(String st , int fromIndex) ; 从fromIndex 指定位置开始,在字符串中第一次出现的位置.
int lastIndexOf(int ch) ; 返回指定字符在此字符串中最后一次出现处的索引。
2.2 判断:
1 public class String2 {
2 public static void main(String args[])
3 {
4 String str1 = "hello java!" ;
5 String str2 = new String("hello java!") ;
6
7 System.out.println(str1.equals(str2));
8 System.out.println(str1 == str2);
9 }
10 }
上面代码第7行和第8行打印结果是不一样的。用equals 方法判断的结果是true , 因为 String 类 重写了Object类的equals 方法,是equals 方法有独特的判断方法。
判断常用的方法有:
1、判断字符串中是否包含某一个字串。
boolean contains(CharSequence cs) ;
2、字符串中是否为空:
boolean isEmpty() ; 其原理就是判断字符长度是否为0。
3、判断字符串是否以指定类容开头:
boolean startsWith(String str) ;
4、判断字符串是否以指定类容结尾:
boolean endsWith(String cs) ;
5、判断字符串内容是否相等:
boolean equals(Obeject obj) ;
6、 判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase(String str)
2.3 转换
1 public class String3 {
2 public static void main(String args[])
3 {
4 char[] ch = {‘h‘,‘e‘ ,‘l‘ ,‘l‘ ,‘o‘ ,‘ ‘ , ‘j‘ , ‘a‘ , ‘v‘ ,‘a‘} ;
5 // 构造函数转换:
6 // 将字符数组转换成字符串:
7 String str1 = new String (ch) ;
8 System.out.println(str1);
9 // 从ch[] 下标 6开始,后的4个字符 ,转换成字符串。
10 String str2 = new String (ch,6,4) ;
11 System.out.println(str2);
12
13 // 静态方法:
14 // 将字符数组转换成字符串:
15 String str3 = String.copyValueOf(ch) ;
16 System.out.println(str3);
17 // 从ch[] 下标 6开始,后的4个字符 ,转换成字符串。
18 String str4 = String.copyValueOf(ch,0,5) ;
19 System.out.println(str4);
20
21 String str = "hello java" ;
22 // 将字符串转换成字符数组;
23 char[] ch1 = str.toCharArray() ;
24 for(int i = 0 ; i < ch1.length ; i ++)
25 System.out.print("‘"+ch1[i] +"‘");
26 System.out.println();
27 }
28 }
1、将字符数组转换成字符串:
构造方法:String(char[] ch)
String(char[] ch , int offset , int count ) ; 将字符数组中的一部分转成字符串。
其中:offset 参数是子数组第一个字符的索引;count 参数指定子数组的长度。如果从offset 后面的字符数小于count 则会异常。
注意:该子数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。
2、将字符串转换成字符数组。
char[] toCharArray() ;
3、将字节数转成字符串。
构造方法:String(byte[] by) ;
String(byte[] by , int offset , int count) ;
4、将字符串转成字节数组。
byte[] getByte() ;
5、将基本数据类型转换成字符串。
static String valueOf(基本数据类型) .........
2.4 替换和切割
String replace(char oldChar , char newChar) ; 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String[] split(String regex) ; 根据给定正则表达式的匹配拆分此字符串。
public class String4 {
public static void main(String args[])
{
String str = "hello,java,String" ;
System.out.println(str);
// 替换字符
String str1 = str.replace(‘,‘, ‘ ‘) ;
System.out.println(str1);
// 切割
String[] str2 = str.split(",") ;
for(int i = 0 ; i < str2.length ; i++ )
System.out.println(str2[i]);
}
}
2.5.子串、转换,去除空格和比较。
1、子串:获取字符串中的一部分。
String substring(int begin) ; 从指定位置开始到结尾。如果角标不存在,或出现字符串角标异常。
String substring(int begin , int end) ; 包含开头,不包含尾。
2、将字符串大小写转换:
String toUpperCase() ; 将字符串转成大写。
String toLowerCase() ; 将字符串转成小写。
3、将字符串两端的多个空格去除: String trim() ;
4、对两个字符串进行自然顺序的比较。 int compareTo(String str) ; 当另一个字符串大于该字符串时,返回负数;相等,则返回0;否则返回正数。
1 public class String5 {
2 public static void main(String args[])
3 {
4 String str = "hello java " ;
5 // 获取字符串中的一部分:
6 System.out.println(str.substring(0, 6));
7 System.out.println(str.toUpperCase());
8 String str1 = " HELLO WORLD " ;
9 System.out.println(str1.toLowerCase());
10 // 除去字符串两端的多个空格:
11 System.out.println(str1.trim());
12 String str2 = "hello world " ;
13 // 对比两个字符串进行自然顺序的比较
14 System.out.println(str.compareTo(str2));
15 System.out.println(‘j‘- ‘w‘);
16 }
17 }
在第14行和第15行打印的结果是一样的。
标签:
原文地址:http://www.cnblogs.com/wuxiaodong/p/4776768.html