1.静态方法valueOf
package day01;
/**
* String提供了若干重载的静态方法
* 将其他数据类型转换为字符串类型
* @author Administrator
*
*/
public class ValueOfDemo {
public static void main(String[] args){
double pi = 3.1415926;
//将Double值转换为字符串形式
String piStr = String.valueOf(pi);
System.out.println(piStr);
//将int值转换为字符串形式
String intStr = String.valueOf(1);
System.out.println(intStr);
//将boolean值转换为字符串形式
String booleanStr = String.valueOf(false);
System.out.println(booleanStr);
}
}
2.StringBuilder类及其API
-
和String对象不同,StringBuilder封装可改变的字符串,对象创建后可以通过调用方法改变其封装的字符序列
-
StringBuilder有如下常用的构造方法
public StringBuilder()
public StringBuilder(String str)
-
构造方法StringBuilder()将创建不含任何字符序列的StringBuilder对象;而StringBuilder(String str)将创建包含参数字符串str的StringBuilder对象
-
StringBuilder提供了append、insert、delete和replace等方法,用于对其封装的字符序列进行追加、插入、删除、替换等操作
-
StringBuilder常用方法
-
Demo
package day01;
/**
* StringBuilder
* 用于解决频繁修改字符串内容带来的资源消耗过度
* 问题
* 频繁修改字符串的首选
* 其内部维护的是一个可变的字符数组,
* 所以修改都是在当前对象
* 内部完成的
* @author Administrator
*
*/
public class StringBuilderDemo {
public static void main(String[] args){
/*
* StringBuilder提供了对字符串编辑的
* 相关方法:
* 增:append
* 删:delete
* 改:replace
* 插:insert
*/
String str = "努力学习java";
/**
* 将String转换为StringBuilder
* 可以使用有参的构造方法
* StringBuilder也有无参构造方法,默认表示
* 空字符串
*/
StringBuilder builder = new StringBuilder(str);
/**
* 从StringBuilder转换为String
* 使用StringBuilder的toString方法即可
*/
str=builder.toString();
/**
* StringBuilder append(String str)
* 向当前字符串末尾追加指定内容
* 有若干重载方法,参数类型不同,这些重载方法
* 允许追加其他内容(先转换为字符串再追加)
*
*
* 努力学习Java,为了找个好工作
*/
builder.append(",为了找个好工作");
System.out.println(builder.toString());
//努力学习java,为了改变世界
/*
* replace(int start,int end,String str)
* 从start(包含)处,到end(不包含)处范围内的
* 字符串替换为给定的字符串str
*
*/
builder.replace(11, builder.length(), "改变世界");
System.out.println(builder.toString());
//努力学习java,就是为了改变世界
/*
* insert(int offset,String str)
* 在给定的位置offset处插入字符串str
* 原位置及以后的字符串内容自动向后移动
*/
builder.insert(9, "就是");
System.out.println(builder.toString());
//,就是为了改变世界
//delete方法:删除指定范围内的字符串
builder.delete(0, 8);
System.out.println(builder.toString());
//活着,就是为了改变世界
builder.insert(0, "活着");
System.out.println(builder.toString());
//反转字符串
builder.reverse();
System.out.println(builder.toString());
}
}
package day01;
/**
* StringBuilder修改字符串效率
* @author Administrator
*
*/
public class StringBuilderDemo2 {
public static void main(String[] args) {
StringBuilder builder
= new StringBuilder("a");
for(int i=0;i<10000000;i++){
builder.append("a");
}
System.out.println("执行完啦");
}