String類概述
- 字符串的表示
- 常量,final修飾,不可變性
- String對象具有隻讀特性,指向它的任何引用都不可能改變它的值
- +和+=操作
String類實現接口
String主要構造函數
- public String() {}
- public String(String original) {}
- public String(char value[]) {}
- public String(int[] codePoints, int offset, int count){}
- public String(char value[], int offset, int count) {}
- public String(byte ascii[], int hibyte, int offset, int count) {}
- public String(byte ascii[], int hibyte, int offset, int count) {}
- public String(byte bytes[], int offset, int length, Charset charset) {}
- public String(StringBuffer buffer) {}
- public String(StringBuilder builder) {}
String主要方法
- CharSequence à length() 、charAt(int)//toString()
- Comparable à compareTo(T)
- 內置函數
- getBytes()
- equals()/equalsIgnoreCase()
- compareTo()/compareToIgnoreCase()
- startsWith()、endsWith()
- indexOf()、lastIndexOf()
- substring()、subsequence()
- concat()
- matches()、replace()、replaceFirst()、replaceAll()、split()
- toLowerCase()、toUpperCase()
- trim()
- format()
- valueOf()、copyValueOf()
- intern()
String、StringBuilder、StringBuffer
- String中+操作實際對應的是new StringBuilder().append()
- String不可變性,對String對象的任何改變都不影響到原對象,相關的任何change操作都會生成新的對象
- StringBuilder和StringBuffer可變:StringBuilder線程不安全,StringBuffer線程安全(synchronized)?容量伸縮? 2(n+1)