3. String类
1. String类概述
(1)String 是final类,不能被其他类继承
(2)String 属性 private final char value[]; 用于存放字符串内容,地址不能修改!!!值可以修改!
代码示例
package com.baidu.www;
public class Tesy {
public static void main(String[] args) {
final char[] value = {'a', 'b', 'c'};
value[0] = 'd';
System.out.println(value);
}
}

继承关系

常用方法





2. String类的判断功能

代码示例
package com.baidu.www;
/**
* String类:
* 概述:
* 字符串,每一个字符串对象都是常量。
* 构造方法:
* String(byte[]): 构造一个String对象,将指定字节数组中的数据转化为字符串
* String(char[]): 构造一个String对象,将指定字符数组中的数据转化为字符串
* 成员方法
* boolean equals(String): 判断当前字符串与给定字符串是否相同,区分大小写
* boolean equalsIgnoreCase(String):判断当前字符与给定字符串是否相同,不区分大小写
* boolean startsWith(String): 判断是否以给定字符串开头
* boolean isEmpty(): 判断字符串是否为空
*/
public class Test {
public static void main(String[] args) {
// 测试 构造方法
// 1. 将指定的字节数组转化为字符串
byte[] bys = {97, 98, 99};
String s1 = new String(bys);
System.out.println("s1:" + s1);
// 2. 将指定的字符数组转化为字符串
char[] chs = {'h', 'e', 'l', 'l', 'o'};
String s2 = new String(chs);
System.out.println("s2:" + s2);
// 在实际开发中。String类非常常用
// String优化:省去了new的动作
String s3 = "abc"; // 免new
System.out.println("==================================");
// 测试 成员方法
String str1 = "abc";
String str2 = "ABC";
// boolean equals(String): 判断当前字符串与给定字符串是否相同,区分大小写
System.out.println("equals方法:" + str1.equals(str2));
// boolean equalsIgnoreCase(String):判断当前字符与给定字符串是否相同,不区分大小写
System.out.println("equalsIgnoreCase方法:" + str1.equalsIgnoreCase(str2));
// boolean startsWith(String): 判断是否以给定字符串开头
System.out.println("startsWith方法:" + str1.startsWith("ab"));
// boolean isEmpty(): 判断字符串是否为空
System.out.println("isEmpty方法:" + str1.isEmpty());
}
}
两种构造方法的区别


3. String类的获取功能

代码示例
package com.baidu.www;
/**
* String类的获取功能:
* int length(): 获取当前字符串的长度
* char charAt(int index): 获取指定索引位置的字符
* int indexOf(String): 获取指定字符(串)第一次出现的索引
* int lastIndexOf(Stirng): 获取指定字符(串)最后一次出现的索引
* String subString(int): 获取指定索引位置(含)之后的字符串
* String subString(int, int): 获取从索引start位置(含)起至索引end位置(不含)的字符串
*/
public class Test {
public static void main(String[] args) {
// 定义字符串
String str = "Java java";
// * int length(): 获取当前字符串的长度
System.out.println("字符串的长度是:" + str.length());
// * char charAt(int index): 获取指定索引位置的字符
System.out.println("索引2出现的字符:"+str.charAt(2));
// * int indexOf(String): 获取指定字符(串)第一次出现的索引
System.out.println("a第一次出现的位置:"+str.indexOf('a'));
// * int lastIndexOf(Stirng): 获取指定字符(串)最后一次出现的索引
System.out.println("a最后一次出现的位置:"+str.lastIndexOf('a'));
// * String subString(int): 获取指定索引位置(含)之后的字符串
System.out.println("从5开始的字符串:"+str.substring(5));
// * String subString(int, int): 获取从索引start位置(含)起至索引end位置(不含)的字符串
System.out.println("从5到7的字符串:" + str.substring(5,7));
}
}
3. String类的转换功能

代码示例
package com.baidu.www;
/**
* String类的转换功能:
* byte[] getBytes(): 将字符串转换成字节数组
* char[] toCharArray(): 将字符串转换成字符数组
* static String valueOf(): 将指定类型数据转换成字符串
* String replace(old, new): 将指定字符(串)替换成新的字符(串)
* String[] split(String): 切割字符串,返回切割后的字符串数据,原字符串不变
* String trim(): 去掉字符串两端的空白字符
*/
public class Test {
public static void main(String[] args) {
// 定义一个字符串
String s1 = "abc";
// * byte[] getBytes(): 将字符串转换成字节数组
byte[] bys = s1.getBytes();
for (int i = 0; i < bys.length; i++) {
System.out.println(bys[i]);
}
System.out.println("=========================================");
// * char[] toCharArray(): 将字符串转换成字符数组
char[] chs = s1.toCharArray();
for (int i = 0; i < chs.length; i++) {
System.out.println(chs[i]);
}
// * static String valueOf(): 将指定类型数据转换成字符串
System.out.println("=========================================");
System.out.println(String.valueOf(123) + 4);
// 实际开发中,使用下边的代码替代
String s2 = "" + 123;
System.out.println(s2 + 4);
// * String replace(old, new): 将指定字符(串)替换成新的字符(串)
System.out.println("=========================================");
System.out.println(s1.replace('a', 'b'));
// * String[] split(String): 切割字符串,返回切割后的字符串数据,原字符串不变
String s3 = "abc abc";
String[] arr = s3.split(" ");
System.out.println("=========================================");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// * String trim(): 去掉字符串两端的空白字符
String s4 = " a b ";
System.out.println("=========================================");
System.out.println(s4.trim());
}
}

浙公网安备 33010602011771号