java源碼分析二:String類

String類概述

  1. 字符串的表示
  2. 常量,final修飾,不可變性
  3. String對象具有隻讀特性,指向它的任何引用都不可能改變它的
  4. ++=操作

 

String類實現接口

String主要構造函數

  1. public String() {}
  2. public String(String original) {}
  3. public String(char value[]) {}
  4. public String(int[] codePoints, int offset, int count){}
  5. public String(char value[], int offset, int count) {}
  6. public String(byte ascii[], int hibyte, int offset, int count) {}
  7. public String(byte ascii[], int hibyte, int offset, int count) {}
  8. public String(byte bytes[], int offset, int length, Charset charset) {}
  9. public String(StringBuffer buffer) {}
  10. public String(StringBuilder builder) {}

 

String主要方法

  1. CharSequence à length() charAt(int)//toString()
  2. Comparable à compareTo(T)
  3. 內置函數
  • getBytes()
  • equals()/equalsIgnoreCase()
  • compareTo()/compareToIgnoreCase()
  • startsWith()endsWith()
  • indexOf()lastIndexOf()
  • substring()subsequence()
  • concat()
  • matches()replace()replaceFirst()replaceAll()split()
  • toLowerCase()toUpperCase()
  • trim()
  • format()
  • valueOf()copyValueOf()
  • intern()

 

StringStringBuilderStringBuffer

  1. String+操作實際對應的是new StringBuilder().append()
  2. String不可變性,String對象的任何改變都不影響到原對象,相關的任何change操作都會生成新的對象
  3. StringBuilderStringBuffer可變:StringBuilder線程不安全,StringBuffer線程安全(synchronized)?容量伸縮? 2(n+1)

 

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