文章目录
- 一、概念
- 二、创建字符串
- 三、字符串长度
- 四、连接字符串
- 五、比较字符串
一、概念
字符串广泛应用 在 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("对象内容一致");
}
}
}
运行结果:
对象内容一致
对象内容一致