javaä¸StringãStringBufferãStringBuilderæ¯ç¼ç¨ä¸ç»å¸¸ä½¿ç¨çå符串æä½ç±»ã
1.å¯åä¸ä¸å¯å
Stringç±»ä¸ä½¿ç¨å符æ°ç»ä¿åå符串ï¼å¦ä¸å°±æ¯ï¼å 为æâfinalâ修饰符ï¼æ以å¯ä»¥ç¥éstring对象æ¯ä¸å¯åçã
private final char value[];
StringBuilderä¸StringBufferé½ç»§æ¿èªAbstractStringBuilderç±»ï¼å¨AbstractStringBuilderä¸ä¹æ¯ä½¿ç¨å符æ°ç»ä¿åå符串ï¼å¦ä¸å°±æ¯ï¼å¯ç¥è¿ä¸¤ç§å¯¹è±¡é½æ¯å¯åçã
char[] value;
2.æ¯å¦å¤çº¿ç¨å®å
¨
Stringä¸ç对象æ¯ä¸å¯åçï¼ä¹å°±å¯ä»¥ç解为常éï¼æ¾ç¶çº¿ç¨å®å
¨ã
AbstractStringBuilderæ¯StringBuilderä¸StringBufferçå
Œ
±ç¶ç±»ï¼å®ä¹äºä¸äºå符串çåºæ¬æä½ï¼å¦expandCapacityãappendãinsertãindexOfçå
Œ
±æ¹æ³ã
StringBuffer对æ¹æ³å äºåæ¥éæè
对è°ç¨çæ¹æ³å äºåæ¥éï¼æ以æ¯çº¿ç¨å®å
¨çãçå¦ä¸æºç ï¼
public synchronized StringBuffer reverse() {
super.reverse();
return this;
}
public int indexOf(String str) {
return indexOf(str, 0); //åå¨ public synchronized int indexOf(String str, int fromIndex) æ¹æ³
}
StringBuilder并没æ对æ¹æ³è¿è¡å åæ¥éï¼æ以æ¯é线ç¨å®å
¨çã
3.StringBuilderä¸StringBufferå
±åç¹
StringBuilderä¸StringBufferæå
Œ
±ç¶ç±»AbstractStringBuilder(æ½è±¡ç±»)ã
æ½è±¡ç±»ä¸æ¥å£çå
¶ä¸ä¸ä¸ªåºå«æ¯ï¼æ½è±¡ç±»ä¸å¯ä»¥å®ä¹ä¸äºåç±»çå
Œ
±æ¹æ³ï¼åç±»åªéè¦å¢å æ°çåè½ï¼ä¸éè¦éå¤åå·²ç»åå¨çæ¹æ³ï¼èæ¥å£ä¸åªæ¯å¯¹æ¹æ³çç³æå常éçå®ä¹ã
StringBuilderãStringBufferçæ¹æ³é½ä¼è°ç¨AbstractStringBuilderä¸çå
Œ
±æ¹æ³ï¼å¦super.append(...)ãåªæ¯StringBufferä¼å¨æ¹æ³ä¸å synchronizedå
³é®åï¼è¿è¡åæ¥ã
æåï¼å¦æç¨åºä¸æ¯å¤çº¿ç¨çï¼é£ä¹ä½¿ç¨StringBuilderæçé«äºStringBufferã
温馨提示:内容为网友见解,仅供参考