String类型
概述:
(1)用来定义字符串的类型。
(2)引用数据类型。
(3)在java.lang包定义,使用该类不需要导包
-
特点:
-
定义String字符串,可以直接接收一个字符串常量
如果接收的是字符串常量,该常量在常量池种存储
如果接收的是new对象,那么该对象在堆内存种单独存储
-
定义String字符串,可以使用new创建一个字符串对象
-
定义的String字符串,字符串本身不能被直接修改
【因为String类型种维护的是一个字符数组,该字符数组是私有修饰,在类中只提供了获取的方式,没有提供修改的方法。所以只能获取或者赋值,不能改值】
-
String类的构造方法
String()
- 空参构造
String St = new String();
String(byte[] bytes) :
- 将一个字节数组转成一个字符串,解码
byte[] by = {12,43,8,1,4};
String st = new String(by);
System.out.println(st);
- String(byte[] bytes, int offset, int length) :
- 将字节数组的一部分转成字符串
byte[] by = {12,43,8,1,4};
String st1 = new String(by,2,3);
System.out.println(st1);
- String(char[] value) :
- 将一个字符数组转成一个字符串
char[] c = {'x','y','z'};
String st2 = new String(c);
System.out.println(st2);
//xyz
- String(char[] value, int offset, int count) :
- 将字符数组的一部分转成字符串
char[] c1 = {'x','y','z','q'};
String st3 = new String(c,1,2);
System.out.println(st3);
//yz
- String(String original) :
- 通过有参构造方法,将字符串常量存储在字符串对象中
String st4 = new String("chenshuang");
System.out.println(st4);
//chenshuang
String类的判断功能
- contains(String s) :判断是否包含参数
String str = "chenshuang";
System.out.println(str.contains("en"));
System.out.println(str.contains("es"));
//chenshuangen
//chenshuanges
- endsWith(String suffix) :判断调用者字符串是否以参数字符串结尾
String str1 = "chenshuang";
System.out.println(str1.endsWith("g"));
System.out.println(str1.endsWith("shuang"));
//true
//false
- startsWith(String prefix) :判断调用者字符串是否以参数字符串开头
String str2 = "chenshuang";
System.out.println(str2.startsWith("chen"));
//true
- equals(Object anObject) :判断两个字符串是否一样
String str3 = "chenshuang";
System.out.println(str3.equals("chenshuang"));
//true
- equalsIgnoreCase(String anotherString) :忽略大小写判断两个字符串是否一样
String str4 = "chenshuang";
System.out.println(str4.equalsIgnoreCase("chENSHUang"));
//true
- isEmpty() :判断调用者是否为空
String str5 = "chenshuang";
System.out.println(str5.isEmpty());
System.out.println("".isEmpty());
//false
//true
String类的获取功能
- charAt(int index) : 获取index索引对应的字符
String s = "chenshuang";
System.out.println(s.charAt(4));
//s
- concat(String str) :拼接字符串
String s = "chenshuang";
System.out.println(s.concat("9990328"));
//chenshuang9990328
- indexOf(int ch) :获取ch字符在字符串中的索引
String s = "chenshuang";
System.out.println(s.indexOf("s"));
//4
- indexOf(int ch, int fromIndex) :从指定位置找ch字符出现的索引
String s = "chenshuang";
System.out.println(s.indexOf("n",4));
//8
- indexOf(String str) :找str字符串在调用者中出现的索引
String s = "chenshuang";
System.out.println(s.indexOf("shuang"));
//4
- indexOf(String str, int fromIndex) :从指定位置寻找str出现的索引
String s = "chenshuang";
System.out.println(s.indexOf("shuang",3));
//4
- lastIndexof():从后往前找指定元素出现的索引
String s = "chenshuang";
System.out.println(s.lastIndexOf("e"));
//2
- length() :返回字符串的长度
String s = "chenshuang";
System.out.println(s.length());
//10
- substring(int beginIndex) :从参数索引开始往后截取字符串,形成一个新串
String s = "chenshuang";
String s1 = s.substring(4);
System.out.println(s1);
//shuang
-
substring(int beginIndex, int endIndex) :截取字符串一部分,形成一个新串
包含头部索引,不包含尾部索引
String s = "chenshuang";
String s2 = s.substring(4,6);
System.out.println(s2);
//sh
- split(regix:n) : 根据条件截断字符串
String s = new String("chenshuangchenshuang");
String[] str = s.split("n");
System.out.println(Arrays.toString(str));
//[che, shua, gche, shua, g]
- split(regix:n ,limit:4): 根据条件截断字符串、截 4 段
String s = new String("chenshuangchenshuang");
String[] str1 = s.split("n",4);
System.out.println(Arrays.toString(str1));
//[che, shua, gche, shuang]
String类的转换功能
- getBytes() :将字符串转成字节数组
String s ="chenSHUANG";
System.out.println(Arrays.toString(s.getBytes()))
//[99, 104, 101, 110, 83, 72, 85, 65, 78, 71]
- toCharArray() :将字符串转为字符数组
String s ="chenSHUANG";
System.out.println(s.toCharArray());
//chenSHUANG
- toLowerCase() :将字符串转为全小写形式
String s ="chenSHUANG";
System.out.println(s.toLowerCase() );
//chenshuang
- toUpperCase() :将字符串转成全大写形式
String s ="chenSHUANG";
System.out.println(s.toUpperCase() );
//CHENSHUANG
- valueOf(参数) :将基本类型数据的参数或者引用类型转为字符串类型,当前方法是一个 静态方法,可以通过类名直接调用。
int i = 1829;
String str =String.valueOf(i);
System.out.println(str);
//1829
- trim() :去掉前后两边的空格
String st = " chchen ";
System.out.println(st);
System.out.println(st.trim());
// chchen
//chchen
- replace(char oldChar, char newChar) :将old元素改为new元素
String st1 = "chenshuang";
String st2 = st1.replace("shuang","19990328");
System.out.println(st2);
//chen19990328