网站 网络营销价值,北京养老网站开发,大连开发区做网站,114啦建站程序字符串类型
不可变类型#xff1a;一旦创建#xff0c;值就不会改变fianl修饰类不能继承#xff0c;不能被重写#xff0c;修饰char类型后#xff0c;地址不可变#xff0c;内容可变#xff0c;没有具体方法修改内容#xff0c;保证不可变性
常用方法
长度#xff…字符串类型
不可变类型一旦创建值就不会改变fianl修饰类不能继承不能被重写修饰char类型后地址不可变内容可变没有具体方法修改内容保证不可变性
常用方法
长度 int length str1.length(); // 获取字符串长度拼接 String str4 str1.concat(, World!); // 使用 concat 方法String str3 str1 , World!; // 使用 运算符子串 String subStr str1.substring(0, 5); // 获取子串 Hello查找 int index str1.indexOf(o); // 查找字符 o 的位置int lastIndex str1.lastIndexOf(o); // 查找字符 o 的最后一次出现的位置比较 boolean isEqual str1.equals(str2); // 比较两个字符串是否相等int compareResult str1.compareTo(str2); // 按字典顺序比较两个字符串大小写转换 String upperStr str1.toUpperCase(); // 转换为大写String lowerStr str1.toLowerCase(); // 转换为小写去除空格 String trimmedStr str1.trim(); // 去除字符串两端的空格替换 String replacedStr str1.replace(H, J); // 将 H 替换为 J
字符串池
为了优化性能Java 在内存中维护了一个字符串池。当使用字符串字面值创建字符串时Java 会先检查池中是否存在相同的字符串如果存在则返回池中的字符串对象而不会创建新的对象。这使得相同的字符串字面值在内存中只有一个副本。
String str1 Hello;
String str2 Hello;
boolean isSame (str1 str2); // truestr1 和 str2 引用同一个字符串池中的对象
提升字符串拼接效率的类
StringBuffer:StringBuffer 是线程安全的可变字符串类。它的所有方法都是同步的synchronized这意味着在多线程环境中使用 StringBuffer 是安全的但这也导致了其性能比StringBuilder 略低。StringBuilder:StringBuilder 是非线程安全的可变字符串类。它的设计与 StringBuffer 类似但不保证线程安全。因此在单线程环境中StringBuilder 比 StringBuffer 更快。