创建字符串
当然创建的方法很多这里我们举例两种十分常见的办法!
最简单的方法!
String str1 = "Runoob";
使用关键字和构造方法来创建 String 对象。
String str2=new String("Runoob");
我们当然知道,String出来的在公共池里 而 new出来的在堆里
也就是如果 str1==str2 的话 这是false的
当然将一个字符串数组传到String的构造器中也会有指定的构造器进行构造的
char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
String helloString = new String(helloArray);
字符串长度
int len = site.length();
直接调用这个方法就行了,你也不想 循环之后++吧!
连接字符串
当然连接有两个方法的 一个是concat() 一个是“+”
string1.concat(string2);
"Hello," + " runoob" + "!"
创建格式化字符串
众所周知,我们的java语言是有printf格式化输出的,那么是否有一个类的方法可以返回格式化输出后的结果么?显然是有的!
String 类的静态方法 format()就能用来创建可复用的格式化字符串
double adouble = 17.89d;int aint = 100;String astring = "asd";String fs = String.format("%.1f"+"%d"+"%s",adouble,aint,astring);
当然方法是很多的,但是那东西太无脑了 影响人们对算法的学习
比如字符串的切片呀!
fs=fs.substring(0,6);
比如是否包含子序列呀!
if(fs.contains("as"))
判断是否为空!
fs.isEmpty()
字符串替换!
fs = fs.replace("as","sa");
返回索引处的char值!
fs.charAt(0);
字符串的修改!
当然正常情况我们是不被允许修改的,但是我们可以利用StringBuffer对字符串进行修改,为何不推荐 StringBuilder呢?因为它的线程不安全!但是,它的速度较快。
StringBuffer abuffer = new StringBuffer("asd");
abuffer.append("asd");
System.out.println(abuffer);
当然他也有很多的方法!
使用给定 String
中的字符替换此序列的子字符串中的字符。
replace(int start, int end, String str);
将此字符序列用其反转形式取代。
abuffer.reverse();
移除此序列的子字符串中的字符。
public delete(int start, int end)
将 int
参数的字符串表示形式插入此序列中。
public insert(int offset, int i)
将 int
参数的字符串表示形式插入此序列中。
insert(int offset, String str)
设置字符序列的长度。
void setLength(int newLength)
设置字符序列的长度。
abuffer.setLength(10); //空缺部分为空 而非0