java 如何用string
字符串的创建与初始化
在Java中,字符串可以通过直接赋值或使用new关键字创建。直接赋值会优先检查字符串常量池,避免重复创建;而new会在堆内存中新建对象。
String str1 = "Hello"; // 字符串常量池
String str2 = new String("Hello"); // 堆内存新对象
字符串常用方法
字符串类提供多种方法用于操作和查询:

- 长度查询:
length()返回字符串字符数。 - 拼接:
concat()或+运算符连接字符串。 - 比较:
equals()比较内容,==比较引用地址。 - 子串提取:
substring(beginIndex, endIndex)截取部分字符串。 - 查找:
indexOf()返回字符或子串首次出现的位置。
String s = "Java";
int len = s.length(); // 4
String combined = s.concat("Script"); // "JavaScript"
boolean isEqual = s.equals("java"); // false (区分大小写)
String sub = s.substring(1, 3); // "av"
int pos = s.indexOf('a'); // 1
字符串不可变性
Java字符串不可变,任何修改操作会生成新对象。频繁修改时应使用StringBuilder或StringBuffer(线程安全)提升性能。

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // 直接修改原对象
String result = sb.toString(); // "Hello World"
字符串格式化
String.format()或printf风格格式化字符串,支持占位符如%s(字符串)、%d(整数)。
String formatted = String.format("Name: %s, Age: %d", "Alice", 25);
// 输出: "Name: Alice, Age: 25"
字符串与基本类型转换
- 转数字:
Integer.parseInt()或Double.parseDouble()。 - 数字转字符串:
String.valueOf()或直接拼接空字符串。
String numStr = "123";
int num = Integer.parseInt(numStr); // 123
String strFromNum = String.valueOf(456); // "456"
正则表达式匹配
matches()方法检查字符串是否匹配正则表达式,split()按正则分割字符串。
String email = "user@example.com";
boolean isValid = email.matches("^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$");
String[] parts = "a,b,c".split(","); // ["a", "b", "c"]






