-
String类对象的声明和创建
- String s = new String("abc");
- 截取
char a [] = {'a','b','c'};
String s = new String(a,1,2);
-
String类的常用方法
- .length() 返回对象的字符序列长度(int)
- s1.equal(s2) 比较s1与s2的字符序列是否相同
- s1==s2 比较s1与s2的引用(内存位置)是否相同
- s1.startsWith(s2); 判断s1的字符序列前缀是否为s2
- s1.endsWith(s2); 判断s1的字符序列后缀是否为s2
- s1.compareTo(s2); 按字母顺序比较s1与s2的大小(int) s1与s2相同➡️0 s1大于s2➡️正数 s1小于s2➡️负数
- s1.compareToIgnoreCase(s2); 忽略大小写,按字母顺序比较s1与s2的大小(int)
- s1.contains(s2); 判断s1中是否包含参数s2的字符序列
- s1.indexOf(s2,int a); 从0索引位置开始检索首次出现s2的字符序列的位置,返回该位置,若没有检索到返回-1。a的值用来指定检索的开始位置,可省略。
- s1.lastIndexOf(s2); 从0索引位置开始检索最后一次出现s2的字符序列的位置,返回该位置,若没有检索到返回-1。
- str = s1.lastIndexOf(int a,int b); 复制s1字符序列中a位置到b-1位置的序列,若b省略,为end-1。
- s1 = s1.trim(); 去掉s1中的前后空格
-
字符串转化为数字
int x;
String s = "123";
x = Integer.parseInt(s);
同等Byte.parseByte() ,Double.parseDouble()……
-
数字转化为字符串
String str = String.valueOf(任意数字类型);
-
toString方法
一个对象通过调用该方法可以获得该对象的字符串表示。
-
字符数组转化为字符串
- String(char a[]) 整体字符转化
- String(char a[],int offset,int length); 部分字符转化
-
字符串转化为字符数组(应用:密码加密)
- s1.getChars(int start,int end,char c[],int offset);将S1中的字符序列,从位置start到end-1位置上的字符复制到数组C中,并从数组C的offset处开始存放这些字符,需要注意的是,必须保证数组C能容纳下要被复制的字符。
- c = s1.toCharArray();将S1中字符序列的全部字符存放在字符数组c中.
-
StringTokenizer对象创建字符串分析器
- StringTokenizer(String s):为String对象s构造一个分析器。使用默认的分割标记,空格符、换行符、回车符......
- StringTokenizer(String s,String delim):为String对象s构造一个分析器。参数delim的字符序列中的字符的任意排列被当作分割标记。
StringTokenizer s1 = new StringTokenizer("you are welcome");
StringTokenizer s2 = new StringTokenizer("you!#are##!welcome","!#");
-
StringBuffer类(可自动地改变大小)
-
StringBuffer s = new StringBuffer("ABC"); //对象创建及初始化 s.append("DE"); //字符串追加(可以为任意类型) char c1 = s.charAt(1); //返回s序列中1位置上的字符(0、1、2、、) s.setcharAt(1,'N'); //将s序列中的位置1上的字符变为‘N’ s.insert(2,"PP"); //在s序列的位置2后插入“PP” StringBuffer s1 = s.reverse(); //序列反转 s.delete(0); //删除位置0上的字符 s.delete(0,2); //删除0到1位置上的字符序列 s.replace(0,2,"QQQ"); //将s序列中从位置0到位置2的序列用“QQQ”替换