String类
概述
java中所有的字符串文字都可以被看做是实现此类的实例
特点
字符串不变: 字符串的值在创建后不能被更改
String对象是不可变的,所以可以被共享
"abc"等效于char[] data = {‘a’,‘b’,‘c’}
例如:
String str = "abc";
相当于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
// String底层是靠字符数组实现的
使用步骤
查看类
java.lang.String:此类不需要导入
查看构造方法
public String(): 初始化新创建的String对象,以使其表示空字符序列
public String(char[] value): 通过当前参数中的字符数组来构造新的String
public String(byte[] bytes): 通过使用平台默认字符集解码当前参数中的字节数组来构造新的String
//无参构造
String str = new String();
// 通过字符数组构造
char chars[] = {'a', 'b', 'c'};
String str2 = new String(chars);
// 通过字节数组构造
byte bytes[] = {97,98,99};
String str3 = new String(bytes);
2. String 常用方法
判断功能的方法
public boolean equals (Object anObject): 将次字符串与指定对象比较
public boolean equalsIgnoreCase(String anotherString)忽略大小写
获取功能的方法
public int length ():返回此字符串的长度
public String concat(String str): 将指定的字符串拼接到字符串的末尾
public char charAt(int index): 返回指定索引处的char值
public int indexOf(String str): 返回指定字符串第一次出现在该字符串内的索引
public String substring(int beginIndex): 返回子字符串,从beginindex开始截取字符串到字符串末尾
public String substring (int beginIndex,int endIndex):从beginindex到endIndex截取字符串,左闭右开
public class String_Demo02 {
public static void main(String[] args) {
//创建字符串对象
String s = "helloworld";
// int length():获取字符串的长度,其实也就是字符个数
System.out.println(s.length());
System.out.println("--------");
// String concat (String str):将将指定的字符串连接到该字符串的末尾.
String s = "helloworld";
String s2 = s.concat("**hello itheima");
System.out.println(s2);// helloworld**hello itheima
// char charAt(int index):获取指定索引处的字符
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println("--------");
// int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回-1
System.out.println(s.indexOf("l"));
System.out.println(s.indexOf("owo"));
System.out.println(s.indexOf("ak"));
System.out.println("--------");
// String substring(int start):从start开始截取字符串到字符串结尾
System.out.println(s.substring(0));
System.out.println(s.substring(5));
System.out.println("--------");
// String substring(int start,int end):从start到end截取字符串。含start,不含end。
System.out.println(s.substring(0, s.length()));
System.out.println(s.substring(3,8));
}
}
转换功能的方法
public char[] toCharArray (): 将此字符串转化为新的字符数组
public byte[] getBytes ():使用默认字符集将String编码转换为新的字节数组
public String replace(CharSequence target, CharSequence replacement): 将与target匹配的字符串用replacement字符串替换
public class String_Demo03 {
public static void main(String[] args) {
// 创建字符串对象
String s = "abcde";
// char[] tpCharArray() 把字符串转换为字符数组
char[] chs = s.toCharArray();
for(int x = 0; x System.out.println(chs[x]); } System.out.println("==========="); // byte[] getBytes ():把字符串转换为字节数组 byte[] bytes = s.getBytes(); for(int x = 0; x < bytes.length; x++) { System.out.println(bytes[x]); } System.out.println("-----------"); // 替换字母it为大写IT String str = "itcast itheima"; String replace = str.replace("it", "IT"); System.out.println(replace); // ITcast ITheima System.out.println("-----------"); } } CharSequence 是一个接口,也是一种引用类型,作为参数类型,可以把String对象传递到方法中。 分割功能的方法 public String[] split(String regex): 将此字符串按照给定的regex拆分为字符串数组