文章目录
前言
字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
一、String类
1.创建字符串
创建字符串最简单的方法:
String str = "Runoob";
其他创建字符串的方法:
public class StringDemo2 {
public static void main(String[] args) {
// 创建方法1:直接使用双引号得到字符串对象(最常用)
String s1 = "Hello World";
System.out.println("s1 = " + s1); // s1 = Hello World
// 创建方法2:public String(String): 根据传入的字符串内容,来创建字符串对象(几乎不用)
String s2 = new String("Java");
System.out.println("s2 = " + s2); // s2 = Java
// 创建方法3:public String(char[] c): 根据字符数组的内容,来创建字符串对象(几乎不用)
char[] chars = {
'我', '爱', 'J', 'a', 'v', 'a'};
String s3 = new String(chars);
System.out.println("s3 = " + s3); // s3 = 我爱Java
// 创建方法4:public String(byte[] b): 根据字节数组的内容,来创建字符串对象(几乎不用)
byte[] bytes = {
97, 98, 99, 65, 66, 67};
String s4 = new String(bytes);
System.out.println("s4 = " + s4); // s4 = abcABC
}
}
2.创建字符串的位置
String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆内存上:
public class StringDemo2 {
public static void main(String[] args) {
System.out.println("----创建String位置(常量池、堆内存)----");
String ss1 = "abc";
String ss2 = "abc";
// 相同内容在字符串常量池中只存储一份,所以引用地址相同
System.out.println("ss1 == ss2 = " + (ss1 == ss2)); // ss1 == ss2 = true
char[] chars1 = {
'a', 'b', 'c'};
// 通过构造器new对象,每次new都会产生新对象,放在堆内存中,所以引用地址不同
String ss3 = new String(chars1);
String ss4 = new String(chars1);
System.out.println("ss3 == ss4 = " + (ss3 == ss4)); // ss3 == ss4 = false
}
}
3.String常用的API
下面是 String 类支持的方法,更多方法,可以查看API文档。
public class StringAPIOtherDemo5 {
public static void main(String[] args) {
// 1、length(): 获取字符串的长度
String name = "我爱你中国";
System.out.println("变量name的长度 = " + name.length()); // 变量name的长度 = 5
// 2、charAt(int index): 获取某个索引位置处的字符
char c = name.charAt(1); // 0我 1爱 2你 3中 4国
System.out.println("变量name索引1处的字符 = " + c); // 变量name索引1处的字符 = 爱
String s1 = "Hello";
String s2