
不能被继承
- package API.Test;
-
- import org.junit.Test;
-
- /*
- 一、java.lang.String 类:
- String str1="abc";
- String str2=new String("abc");
- 二者区别:
- str1:代表一个对象,至少在内存中开辟一块内存空间(栈中开辟存放对象的引用,“xxx”在字符串池中查找是否有,没有则开辟,反之不需要)
- str2:代表一个对象,至少在内存中开辟两块内存空间
- * */
- public class StringTest {
- @Test
- public void test() {
- String str1 = "abc";
- String str2 = new String("abc");
- System.out.println(str1 == str2);//false
- String str3 = "abc";
- System.out.println(str1 == str3);
- System.out.println(str2 == str3);
- System.out.println(str3 == str2.intern());
- }
- }
string:不可变的字符序列



二、String类的常用方法: 1.获取字符串的方法: ①.String concat (String str):串接字符串 ②String substring(int beginIndex):获取取字符串的子串 String substring(int beginIndex,endIndex):包含头不包含尾 ③String toLowerCase()和String toUpperCase():转换为小写/大写 ④String trim():删除首尾空格或制表符

2.搜索方法: ①int indexOf(int ch) :获取指定字符在字符串中的位置,若没有指定的字符,返回int indexOf (int ch,int fromIndex) :从指定位置开始搜索 int indexOf (String str) int indexOf (String str, int fromIndex) int lastIndexOf (int ch):反向获取指定字符位置构成重载:
3.判断方法: ①boolean equals (0bject obj):判断是否相等,严格区分大小写 boolean equalsIgnoreCase(String str):判断是否相等,不考虑大小写 ②boolean contains (String str):判断是否包含某字符串 ③boolean startsWith(String str)和boolean endsWith(String str):判断是否已指定字符串开始/结尾 ④boolean isEmpty():判断字符串是否为空


4、其他方法
①length():返回字符串长度
②char charAt(int index):返回索引处的字符
③将字符数组转换为字符串
构造器:
String(char[] ch)
String(char[] ch,offset,count):将数组中一部分转换为字符串
静态方法:
static String copyValueOf(char[] ch)
static String copyValueOf(char[] ch,offset,count)
static String ValueOf(char[])
将字符串转换为字符数组:char[] toCharArray()
④String replace(char oldCahr, char newCahr) :替换字符串中字符
String replace(String oldStr,String oldStr):替换字符串中字符串⑤String[] split (String r):根据指定符号切割

