一、含义
一句话总结:String 是用来存文字(字符串)的 “类型”,但不是 Java 的基本数据类型(基本类型只有 8 个:byte、short、int、long、float、double、char、boolean)。
简单理解:它是 Java 自带的 “工具类”,专门处理文字相关的操作,用起来很方便。
二、创建字符串的方式
java
// 方式1:直接赋值(最常用!写代码优先用这个)
String s1 = "Hello Java";
// 方式2:用new关键字(知道就行,少用)
String s2 = new String("Hello Java");
// 方式3:字符数组转字符串(了解即可)
char[] chars = {'J','a','v','a'};
String s3 = new String(chars); // 结果是"Java"
三、基础方法
java
String str = "Hello Java";
// 1. 看字符串有多长(获取长度)
int len = str.length(); // 结果:10(数一数"Hello Java"共10个字符)
// 2. 取指定位置的字符(索引从0开始,第1个字符是索引0)
char first = str.charAt(0); // 结果:'H'(取第1个字符)
// 3. 截取字符串(从索引0到5,只取前面5个字符)
String sub = str.substring(0,5); // 结果:"Hello"
// 4. 拼接字符串(给文字加内容)
String newStr = str + "!"; // 结果:"Hello Java!"
// 5. 转大写/小写
String upper = str.toUpperCase(); // 结果:"HELLO JAVA"
String lower = str.toLowerCase(); // 结果:"hello java"
// 6. 替换字符(把"Java"换成"World")
String replace = str.replace("Java", "World"); // 结果:"Hello World"
四、避坑点
- 比较字符串内容,别用==!
错误写法:if (s1 == s2)(这是比内存地址,不是比内容)
正确写法:if (s1.equals(s2))(专门用来比文字内容)
示例:
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s3)); // true
System.out.println(s1 == s3); // false
- 拼接很多字符串,别一直用+
如果只是拼 1-2 次:用+没问题(比如str + "!")
