Java字符串
- String类是不可改变的,被称为
不可变字符串
,一旦创建String对象,则值无法改变。但可以将其引用另一个字符串。
【注】若需要对字符串做大量修改,应选择StringBuffer&StringBuilder
连接字符串
- 使用
concat()
方法 - 使用
+
操作符
创建格式化字符串
printf()
System.out.printf("浮点型变量的值为%f,整形变量的值为%d,字符串变量的值为%s",floatVar,intVar,StringVar);
format()
String
类使用静态方法format()
返回一个String对象。format()
能用来创建可复用的格式化字符串,而不仅是用于一次打印输出。
String fs;
fs=String.format("浮点型变量的值为%f,整形变量的值为%d,字符串变量的值为%s",floatVar,intVar,StringVar);
判断字符串是否相等
- 判断两个字符串是否相等,使用
equals()
s.equals(t)
【注】s
和t
可以是常量,也可以是变量。 - 判断两个字符串是否相等,而不区分大小写,使用
equalsIgnoreCase()
- 一定不要使用
==
运算符判断两个字符串是否相等,这个运算符只能确定两个字符串是否放在同一个位置上。
空串与Null串
- 空串
""
是长度为0 的字符串。
可以用以下代码判断是否为空串
if(str.length()==0)
或
if(str.equals(""))
- Null串表示没有任何对象与该变量关联。
判断一个字符串是否为Null串
if(str==null)
- 判断一个字符串既不是
null
串也不是空串
if(str!=null && str.length()!=0)
构建字符串
若需要使用许多小段字符串构建一个字符串,应按照以下步骤进行。
1. 构建一个空的字符串构建器
StringBuilder builder=new StringBuilder()
2. 每次需要添加一部分内容,调用append()
builder.append(ch);//append a single char
3. 在需要构建字符串时就调用toString()
,可以得到一个String
对象,其中包含了构建器中的字符序列。
String completedString=builder.toString()
总结
线程安全:
StringBuffer
:线程安全StringBuilder
:线程不安全
速度:
String Builder
>StringBuffer
>String
使用环境:
- 操作少量数据用
String
- 单线程大量数据用
StringBuilder
- 多线程大量数据
StringBuffer