Java----字符串
重要要点:
- String类
- StringBuffer类
1.String类:是一个final类,即没有子类,用String类创建的字符串在内存中分配的空间不可修改,也无法修改字符串的任何字符。
1.1字符串常量:用字符串字面常量构造字符串对象:
String str=“经济基础决定上层建筑”;
1.2构造方法:
1)String()
用默认构造方法建立一个空字符串
String str=new String();
2)String(String value)
(1)用字符串作为参数构建一个字符串
String str=new String(“Hello World !”);
(2)用字符数组作为参数构建字符串
- String (char[] value):用整个字符数组构建一个字符串
- String(char[] value,int offset,int count);offset是value,count是字符个数
char a={‘a’,‘b’,‘c’,‘d’,‘e’};
String s1=newString(a); //s1=“abcde”
String s2=new String(a,1,3); //s2=“bcd”
(3)用字节数组作为参数构建字符串
- String(byte[] bt):用整个字节数组创建一个字符串
- String(byte[] bt,int offset,int length)
byte bt[]={65,66,67,68,69,70};
String s1=new String(bt);//s1=“ABCDEF”
String s2=new String(bt,1,4);//s2=“BCDE”
1.3常用方法:
1)获取字符串的长度:length()方法
2)字符串判断::
(1)判断两个字符串的内容是否相等:区分大小写
s1.equals(s2);//相等输出true否则输出false
(2)判断两个字符串的大小
s1. compareTo(s2)//输出小于为负数,大于为整数,等于为0
(3)运算符"=="与equals()的区别:
- ==:两个数值的比较
- equals():两个字符串内容的比较
3)从字符串中获取指定位置的字符
char charAt(int index),其中index的范围为0到length-1
char c=“hello”.charAt(1);//c=“e”
4)将字符串转换为字符数组
(1)getChars()
void getChars(int Start,End,char[] array,int arrayStart)
String str=“经济基础决定上层建筑”;
char array=new char[10];
str.getchar(1,2,array,1);//array[1]='济‘
(2)toCharArray()
5)将字符串中转换为字节数组:byte getBytes()
6)将字符串转换分解为单个字符串数组:
String[] str=“He:el:lo”.split(":" );//str的值为{“He",“el”,“lo”}
7)获取字符串的子串
“abcdef”.subString(3);//cdef
“abcdef”.subString(3,6);//cde,不包含第6个字符
8)获取字符位置:
int indexOf(int ch);
int indexOf(int ch,int fromIndex);
9)字符串的连接:String concat(String str)
10)字符串的替换:String replace(char oldChar,char newchar)
11)去掉字符串开头和结尾的空格:String trim()
12)字符串中所以字符小写:String toLoweerCase(0)
13)字符串中所以字符大写:String toUpperCase()
14)字符串与前缀与后缀是否匹配:
前缀:booleam startsWith(String s);
后缀:booleam endsWith(string s);
2.StringBuffer类
StringBuffer类的创建是一个字符串的缓冲区,可以向缓冲区中添加,插入,替换等
方法:
1)添加字符串:
StringBuffer appepend(type data)
s1.append(s2)
2)插入字符串
StringBuffer insert(int offset,type data);
s1.insert(2,1111),//在s1的第三个位置上插入1111
3)删除字符串
StringBuffer delete(int start ,int end);
4)字符串的逆序:
StringBuffer sb=new StringBuffer(“12345”);
sb.reverse();//"54321"