文章目录
- 一、概念
 - 二、创建字符串
 - 三、字符串长度
 - 四、连接字符串
 - 五、比较字符串
 
一、概念
字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
二、创建字符串
创建字符串最简单的方式如下:
// 直接创建
String str = "Hello";
 
用构造方法创建字符串:
// 构造方法创建
String str = new String("Hello");
 
注:直接创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:
String s1 = "Runoob";               // 直接创建
String s2 = "Runoob";               // 直接创建
String s3 = s1;                     // 相同引用
String s4 = new String("Runoob");   // 构造方法创建
String s5 = new String("Runoob");   // 构造方法创建
 

 String 类有很多种构造方法,这些方法都是用来为对象提供不同的参数来初始化字符串,比如提供一个字符数组参数:
public class Test {
    public static void main(String[] args) {
        // 字符数组
        char[] chars = {'H', 'E', 'L', 'L', 'O'};
        String str = new String(chars);
        System.out.println(str);
    }
}
 
运行结果:
HELLO
 
注:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。 如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
三、字符串长度
String 类的有一个 length() 方法,它返回字符串对象包含的字符数。
public class Test {
    public static void main(String[] args) {
        String str = "Hello";
        System.out.println("str字符串的长度是:" + str.length());
    }
}
 
运行结果:
str字符串的长度是:5
 
四、连接字符串
String 类提供了连接两个字符串的方法:
public class Test {
    public static void main(String[] args) {
        // 1、直接 + 运算(常用)
        String str = "Hello" + " World";
        System.out.println("直接 + 运算(常用):" + str);
        // 2、concat()方法
        String s1 = "Hello";
        String s2 = " World";
        System.out.println("concat()方法:" + s1.concat(s2));
    }
}
 
运行结果:
直接 + 运算(常用):Hello World
concat()方法:Hello World
 
五、比较字符串
在字符串中可以使用 equals() 方法比较,用于将字符串与指定的对象比较内容是否相等。
== 比较
用 == 比较要分两种情况:
- 基本数据类型:比较的是两个数据的值是否一致;
 - 引用数据类型:比较的是两个对象的地址值是否一致。
 
public class Test {
    public static void main(String[] args) {
        // 基本数据类型
        System.out.println("====== 基本数据类型 ======");
        int n1 = 10;
        int n2 = 10;
        if (n1 == n2) {
            System.out.println("n1等于n2");
        }
        // 引用数据类型
        System.out.println("====== 引用数据类型 ======");
        String s1 = "Hello";
        String s2 = new String("Hello");
        if (s1 == s2) {
            System.out.println("s1等于s2");
        }else {
            System.out.println("s1不等于s2");
        }
    }
}
 
运行结果:
====== 基本数据类型 ======
n1等于n2
====== 引用数据类型 ======
s1不等于s2
 
equals() 比较
equals() 是专门用来比较字符串内容是否相同的。
public class Test {
    public static void main(String[] args) {
        String s1 = "Hello";
        String s2 = new String("Hello");
        // equals:比较字符串对象内容是否一致
        if (s1.equals(s2)) {
            System.out.println("对象内容一致");
        }
        
        // equalsIgnoreCase:比较字符串对象内容是否一致,且忽略大小写
        String s3 = "Hello";
        String s4 = new String("HELLO");
        if (s3.equalsIgnoreCase(s4)) {
            System.out.println("对象内容一致");
        }
    }
}
 
运行结果:
对象内容一致
对象内容一致
 



















