一、Java String类
String类表示的字符串。java程序中的所有字符串,如 “abc”,实现这个类的实例。
1.创建字符串
字符串是常量,它们的值不能被创建后改变。支持可变字符串字符串缓冲区。因为字符串对象是不可改变的,所以它们可以被共享。例如:
String str = “123”;
相当于:
char data[] = {‘1’,‘2’,‘3’};
String str = new String(data);
用构造函数创建字符串:
String str2 = new String(“123”);
String 创建字符串存储在公告池中,而 new 创建的字符串对象在堆上:
String s1 = “Runoob”; // String 直接创建
String s2 =“Runoob”; // String 直接创建
String s3 = s1; // 相同引用
String s4 = new String(“Runoob”); // String 对象创建
String s5 = new String(“Runoob”); // String 对象创建
注意:
String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变,如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
二、字符串长度
用于获取有关对象的信息的方法称为访问器方法。
String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数。
public class StringDemo {
public static void main(String args[]) {
String a = "www.bandu.com";
int len = a.length();
System.out.println( "百度网站的长度是 : " + len );
}
}
以上代码编译结果如下:
百度网站的长度是:13
三、连接字符串
String 类提供了连接两个字符串的方法:
string1.concat(string2);
返回string2连接 string1 的新字符串。也可以对字符串常量使用concat()方法,如:
"输出一个整数值是:".concat("123");
更常用的是使用‘+’操作符来连接字符串,如:
"输出一个整数值是:"+"123"+"."
结果如下:
"输出一个整数值是:123."
代码例子:
public class StringDemo02 {
public static void main(String args[]) {
String string1 = "百度网站网址:";
System.out.println("1、" + string1 + "www.baidu.com");
}
}
以上代码运行结果如下:
1、百度网站网址:www.baidu.com
四、String方法
常见的字符串方法:
- charAt(i) // 获取下标对应的字符
- length() // 返回字符串的长度
- codePointAt(i) // 获取下标对应的字符的Unicode值
- concat(str) // 拼接字符串
- contains(str) // 判断是否包含指定的字符系列。
- static copyValueOf(char[]) //返回指定数组中表示该字符序列的 String。
- endsWith(suffix) //测试此字符串是否以指定的后缀结束。
- startsWith(prefix) //测试此字符串是否以指定的前缀开始。
- equals(str) //将此字符串与指定的对象比较。
- equalsIgnoreCase(str) //将此 String 与另一个 String 比较,不考虑大小写。
- getByte() // 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
- indexOf(str) //返回指定子字符串在此字符串中第一次出现处的索引。
- lastIndexOf(str) //返回指定子字符串在此字符串中最右边出现处的索引。
- isEmpty() //判断字符串是否为空
- replace(oldstr, newstr) //返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
- split(regex) //根据匹配给定的正则表达式来拆分此字符串。
- substring(index) //返回一个新的字符串,它是此字符串的一个子字符串。
- substring(start, end) //返回一个新字符串,它是此字符串的一个子字符串。
- toCharArray() //将此字符串转换为一个新的字符数组。
- toLowerCase() //使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
- toUpperCase() //使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
- trim() //返回字符串的副本,忽略前导空白和尾部空白。