String与char转换
1. String s = String.valueOf('c'); //效率最高的方法
2. String s = String.valueOf(new char[]{'c'}); //将一个char数组转换成String
3. String s = Character.toString('c');
// Character.toString(char)方法实际上直接返回String.valueOf(char)
4. String s = new Character('c').toString();
5. String s = "" + 'c';
// 虽然这个方法很简单,但这是效率最低的方法
// Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append('c').toString();
6. String s = new String(new char[]{'c'});
replace和replaceAll替换字符
public class ReplaceChar {
public static void main(String[] args) {
String strTmp = new String("BBBBBBBYYYYYYY");
strTmp = strTmp.replaceAll ("\\D", "Y");
System.out.println(strTmp);
strTmp = strTmp.replaceAll ("Y", "N");
System.out.println(strTmp);
strTmp = strTmp.replace("N", "C");
System.out.println(strTmp);
strTmp = strTmp.replaceFirst("\\D", "q");
System.out.println(strTmp);
}
}
String与StringBuffer之间的转换
package demo;
/*
* String -> StringBuffer
* 方式一:构造方法
* 方式二:通过append方法
* StringBuffer -> String
* 方式一:通过构造方法
* 方式二:通过toString方法
* */
public class StringAndStringBufferSwitch {
public static void main(String[] args) {
//String -> StringBuffer
//创建一个String对象
String str = "Hi Java!";
System.out.println(str);
//方式一:构造方法
StringBuffer buffer = new StringBuffer(str);
System.out.println(buffer);
//方式二:通过append方法
StringBuffer buffer2 = new StringBuffer();
buffer2.append(str);
System.out.println(buffer2);
//StringBuffer -> String
//创建一个StringBuffer对象
StringBuffer buffer3 = new StringBuffer();
buffer3.append("Happy birthday Java!");
System.out.println(buffer3);
//方式一:通过构造方法
String str2 = new String(buffer3);
System.out.println(str2);
//方式二:通过toString方法
String str3 = buffer3.toString();
System.out.println(str3);
}
}
Arraylist转string
List<String> get = new ArrayList<String>();
String str = String.join("\n",get); //以“\n”分隔
String转Arraylist
String str="aaa , bbb , ccc , ddd";
ArrayList list=new ArrayList(Arrays.asList(str.split(",")));
String添加内容1 直接添加
String string = "hello";
string +="world";
System.out.println(string); //输出helloword
String添加内容2 转为stringbuilder添加
insert(int i,String str)在i前面添加str
StringBuilder stringBuilder = new StringBuilder(content);
stringBuilder.insert(1,"perfect");
System.out.println(stringBuilder);
stringBuilder.insert(stringBuilder.indexOf("Good"),"perfect");
System.out.println(stringBuilder);
原始:“mention”: “Hello"Hi"Nice"mention”: "Good"perfect
第一次输出:“perfectmention”: “Hello"Hi"Nice"mention”: "Good"perfect
第二次输出:“perfectmention”: “Hello"Hi"Nice"mention”: "perfectGood"perfect