今天笔试里面有很多String的问题,就是SubString、IndexOf之类的东西,呵呵,觉得都还可以了,但是遇到了个concat,困扰了我好一会,真的从来没有用过这个,回来一看才发现就是这么个!嘿嘿!
String a = "ABC";
String b = "DEF";
a.concat(b);
System.out.println(a);
String s = "hello";
System.out.println("cares".concat(s));
System.out.println("".concat("hello"));
System.out.println("to".concat("get").concat("her"));
大家猜猜看是什么结果:
ABC
careshello
hello
together
呵呵,我也觉得挺惊讶的,所以看了下java API,如下:
public String concat(String str)
{
int otherLen = str.length();
if (otherLen == 0)
{
return this;
}
char buf[] = new char[count + otherLen];
getChars(0, count, buf, 0);
str.getChars(0, otherLen, buf, count);
return new String(0, count + otherLen, buf);
}
原来如此啊:
String a = "ABC";
String b = "DEF";
a.concat(b);
System.out.println(a);
System.out.println("ABC".concat(b));
结果是:
ABC
ABCDEF
不用过多的解释大家也可以明白了吧,嘿嘿,很有意思
①java.lang.String-->substring(int indexId)/String substring(int beginIdex,int endIndex)
得到子串:"unhappy".substring(2)-->"happy"(截取从indexId开始到结束的串)
"emptiness".substring(20)-->""(返回空串)
"hamburger".substring(4,8)-->"urger"
"hamburger".substring(4,20)-->"java.lang.StringIndexOutOfBoundsException"异常
对于java.lang.StringBuffer/StringBuilder都相同用法!
② java.long.String.concat
"cares".concat(s)-->"caress"
"".concat("hello")-->"hello"
"to".concat("get").concat("her")-->"together"
这个方法只有String类里有
③java.lang.String.charAt(int index):char(根据index取得对应位置的字母)
"hello".charAt(4)-->‘o’有可能抛出异常IndexOutOfBoundsException
④java.lang.String.lenght()这个就没什么可说了,但别忘记数组对象没有这个函数
⑤java.lang.String.contentEquals(StringBuffer compStr):boolean
如果比较的String与compStr里的内容完全一致的话就返回true
⑥java.lang.String.startsWith(String prefix):boolean
java.lang.String.endsWith(String suffix):boolean
就判断一个字符串是否以串开头、结尾
⑦java.lang.String.indexOf(String str)/lastIndexOf(String str)
取得第一次/最后一次匹配str的位置
⑧java.lang.String.split(String regEx):String[]
根据正则表达式regEx来切割字符串
⑨java.lang.String.toUpperCase()/toLowerCase把串都变成大写/小写
⑩java.lang.String.toCharArray():char[]把串打散成字符数组
⑪public Stringintern()当且仅当string1.equals(string2)
⑫public String replaceAll(String regex,String replacement)/replaceFirst(String oldStr,String newStr)
替换字符串
⑬java.lang.String.trim()去除字符串的两端空格符