1.包
java.lang.String
2.构造器
4个常用的构造器:
String()
初始化新创建的
String对象,使其表示空字符序列。
String(byte[] bytes)
通过使用平台的默认字符集解码指定的字节数组来构造新的String
。String(char[] value)
分配一个新的
String ,以便它表示当前包含在字符数组参数中的字符序列。String(String original)
初始化新创建的
String`对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。
3.存储结构
String s1=new String("abcd");//对象保存在堆里。
String s11="abcd";//对象保存在常量池中。
4.String字符串的特点
String对象保存的字符串是不可以被修改的。
String对象一旦创建,保存的字符串固定不变。
String字符串操作不会改变当前对象的字符串内容,而是创建一个新的String对象保存操作的结果。
4、常用方法
String类提供了很多操作字符串的方法。
(1)|
int
|length()
返回此字符串的长度。(2)|
char
|charAt(int index)
返回char
指定索引处的值。(3)|
int
|indexOf(int ch)
返回指定字符第一次出现的字符串内的索引。(4)|
int
|lastIndexOf(int ch)
返回指定字符的最后一次出现的字符串中的索引。(5)|
boolean
|isEmpty()
返回true
如果,且仅当length()
为0
。(6)|
boolean
|startsWith(String prefix)
测试此字符串是否以指定的前缀开头。(7)|
boolean
|endsWith(String suffix)
测试此字符串是否以指定的后缀结尾。(8)|
boolean
|contains(CharSequence s)
当且仅当此字符串包含指定的char值序列时才返回true。(9)|
String
|toUpperCase()
将所有在此字符String
使用默认语言环境的规则大写。(10)|
String
|toLowerCase()
将所有在此字符String
使用默认语言环境的规则,以小写。(11)|
String
|concat(String str)
将指定的字符串连接到该字符串的末尾。(12)|String|substring(int beginIndex)返回一个字符串,该字符串是此字符串的子串。
(13)|String|substring(int beginIndex,in endIndex)返回一个字符串,该字符串是此字符串的子串。
(14) |
String
|replace(char oldChar, char newChar)
返回从替换所有出现的导致一个字符串oldChar
在此字符串newChar
。(15) |
String[]
|split(String regex)
将此字符串分割为给定的 regular expression的匹配。(16) |
String
|trim()
返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。(17) |
char[]
|toCharArray()
将此字符串转换为新的字符数组。(18) |
byte[]
|getBytes()
使用平台的默认字符集将此String
编码为字节序列,将结果存储到新的字节数组中。(19) | int | compareTo(String anotherString)按字符顺序比较两个字符串。
(20) | int | compareToIngoreCase(String str)按字符顺序比较两个字符串,忽略病例差异(大小写)。
例如:
String s1=" SSSCCsdfgsdAX@$#67 ";
String s2="sssdCCsdfGSDAX@$#67";
// 完成以下操作:【默认的是对 s1操作】
// (1):保存在字符数组中;
char[] a=s1.toCharArray();
System.out.println(a);
// (2):取得第三个元素值;
System.out.println(s1.charAt(2));
// (3):打印输出该字符串的每个字符;
System.out.println(a);
// (4):截取"sd"该子串;
System.out.println(s1.substring(6,8));
// (5):返回"67"的下标位置
System.out.println(s1.indexOf("67"));
// (6):返回"gsd"的最后一个下标位置
System.out.println(s1.lastIndexOf("gsd"));
// (7):判断两个字符串是否相等【两种方法操作】
System.out.println(s1.compareTo(s2));
System.out.println(s1.equals(s2));
// (8):将两个字符串进行连接为一个字符串,s2在前面,s1在后面
System.out.println(s2.concat(s1));
// (9):去掉s1前后空格
System.out.println(s1.trim());
// (10):将s1只要是大写字符全部转为小写
System.out.println(s1.toLowerCase());
// (11):判断最后面的字串是不是“67”
System.out.println(s1.endsWith("67"));
// (12):判断s2最前面的字串是不是“sss”
System.out.println(s2.startsWith("sss"));