在 Java 中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。
字符串创建
String s = "Java";
String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同
String 类提供了许多用来处理字符串的方法
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
在Java中,除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
StringBuffer方法
append(String s)追加、reverse()反转、delete(int start, int end)移除、insert(index,参数)插入、replace(int start, int end, String str)替换
如遍历字符串并判断a出现的次数
// 定义一个字符串
String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
// 出现次数
int num = 0;
// 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
for (int i=0;i<s.length();i++ )
{
// 获取每个字符,判断是否是字符a
if ( s.charAt(i) == 'a') {
// 累加统计次数
num++;
}
}
随机获取一串字符串
public static String getRandomString(int length) {
StringBuffer buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
StringBuffer sb = new StringBuffer();
Random random = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++) {
sb.append(buffer.charAt(random.nextInt(range)));
}
return sb.toString();
}