JAVA基礎(第10天 包裝類 緩衝常量池)

包裝類

  • byte short int long float double char boolean
  • Byte Short Integer Long Float Double Character Boolean
  • 基本類型 轉爲 包裝類型 :裝箱
  • 包裝類型 轉爲 基本類型: 拆箱
  • JDK1.5開始,支持自動裝箱和自動拆箱
  • 注意:緩衝常量池問題

String


String 屬於基礎的數據類型嗎?
String 不屬於基礎類型,基礎類型有 8 種:byte、boolean、char、short、int、float、long、double,而 String 屬於對象。


Java 中操作字符串都有哪些類?它們之間有什麼區別?
操作字符串的類有:String、StringBuffer、StringBuilder。
String 和 StringBuffer、StringBuilder 的區別在於 String 聲明的是不可變的對象,每次操作都會生成新的 String 對象,然後將指針指向新的 String 對象,而 StringBuffer、StringBuilder 可以在原有對象的基礎上進行操作,所以在經常改變字符串內容的情況下最好不要使用 String。
StringBuffer 和 StringBuilder 最大的區別在於,StringBuffer 是線程安全的,而 StringBuilder 是非線程安全的,但 StringBuilder 的性能卻高於 StringBuffer,所以在單線程環境下推薦使用 StringBuilder,多線程環境下推薦使用 StringBuffer。


String str="i"與 String str=new String(“i”)一樣嗎?
不一樣,因爲內存的分配方式不一樣。String str="i"的方式,Java 虛擬機會將其分配到常量池中;而 String str=new String(“i”) 則會被分到堆內存中。


如何將字符串反轉?
使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。
示例代碼:

// StringBuffer reverse
StringBuffer stringBuffer = new StringBuffer();
stringBuffer. append("abcdefg");
System. out. println(stringBuffer. reverse()); // gfedcba// StringBuilder reverse
StringBuilder stringBuilder = new StringBuilder();
stringBuilder. append("abcdefg");
System. out. println(stringBuilder. reverse()); // gfedcba

String 類的常用方法都有那些?
• indexOf():返回指定字符的索引。
• charAt():返回指定索引處的字符。
• replace():字符串替換。
• trim():去除字符串兩端空白。
• split():分割字符串,返回一個分割後的字符串數組。
• getBytes():返回字符串的 byte 類型數組。
• length():返回字符串長度。
• toLowerCase():將字符串轉成小寫字母。
• toUpperCase():將字符串轉成大寫字符。
• substring():截取字符串。
• equals():字符串比較。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章