java中用String類進行描述。對字符串進行了對象的封裝。這樣的好處是能夠對字符串這種常見數據進行方便的操做。對象封裝後,能夠定義N多屬性和行爲。java
如何定義字符串對象呢?String s = "abc";只要是雙引號引發的數據都是字符串對象。數組
特色:字符串一旦被初始化,就不能夠被改變,存放在方法區中的常量池中。函數
String s1 = "abc"; // s1指向的內存中只有一個對象abc。編碼
String s2 = new String("abc"); // s2指向的內容中有兩個對象abc、new 。對象
System.out.println(s1==s2);//false內存
System.out.println(s1.equals(s2));//true ,字符串中equals比較的是字符串內容是否相同。字符串
字符串的方法:get
1:構造方法:將字節數組或者字符數組轉成字符串。string
String s1 = new String();//建立了一個空內容的字符串。it
String s2 = null;//s2沒有任何對象指向,是一個null常量值。
String s3 = "";//s3指向一個具體的字符串對象,只不過這個字符串中沒有內容。
//通常在定義字符串時,不用new。
String s4 = new String("abc");
String s5 = "abc"; 通常用此寫法
new String(char[]);//將字符數組轉成字符串。
new String(char[],offset,count);//將字符數組中的一部分轉成字符串。
2:通常方法:
按照面向對象的思想:
2.1 獲取:
2.1.1:獲取字符串的長度。length();
2.1.2:指定位置的字符。char charAt(int index);
2.1.3:獲取指定字符的位置。若是不存在返回-1,因此能夠經過返回值-1來判斷某一個字符不存在的狀況。
int indexOf(int ch);//返回第一次找到的字符角標
int indexOf(int ch,int fromIndex); //返回從指定位置開始第一次找到的角標
int indexOf(String str); //返回第一次找到的字符串角標
int indexOf(String str,int fromIndex);
int lastIndexOf(int ch);
int lastIndexOf(int ch,int fromIndex);
int lastIndexOf(String str);
int lastIndexOf(String str,int fromIndex);
2.1.4:獲取子串。
String substring(int start);//從start位開始,到length()-1爲止.
String substring(int start,int end);//從start開始到end爲止。//包含start位,不包含end位。
substring(0,str.length());//獲取整串
2.2 判斷:
2.2.1:字符串中包含指定的字符串嗎?
boolean contains(String substring);
2.2.2:字符串是否以指定字符串開頭啊?
boolean startsWith(string);
2.2.3:字符串是否以指定字符串結尾啊?
boolean endsWith(string);
2.2.4:判斷字符串是否相同
boolean equals(string);//覆蓋了Object中的方法,判斷字符串內容是否相同。
2.2.5:判斷字符串內容是否相同,忽略大小寫。
boolean equalsIgnoreCase(string) ;
2.3 轉換:
2.3.1:經過構造函數能夠將字符數組或者字節數組轉成字符串。
2.3.2:能夠經過字符串中的靜態方法,將字符數組轉成字符串。
static String copyValueOf(char[] );
static String copyValueOf(char[],int offset,int count);
static String valueOf(char[]);
static String valueOf(char[],int offset,int count);
2.3.3:將基本數據類型或者對象轉成字符串。
static String valueOf(char);
static String valueOf(boolean);
static String valueOf(double);
static String valueOf(float);
static String valueOf(int);
static String valueOf(long);
static String valueOf(Object);
2.3.4:將字符串轉成大小寫。
String toLowerCase();
String toUpperCase();
2.3.5:將字符串轉成數組。
char[] toCharArray();//轉成字符數組。
byte[] getBytes();//能夠加入編碼表。轉成字節數組。
2.3.6:將字符串轉成字符串數組。切割方法。
String[] split(分割的規則-字符串);
2.3.7:將字符串進行內容替換。注意:修改後變成新字符串,並非將原字符串直接修改。
String replace(oldChar,newChar);
String replace(oldstring,newstring);
2.3.8: String concat(string); //對字符串進行追加。
String trim();//去除字符串兩端的空格
int compareTo();//若是參數字符串等於此字符串,則返回值 0;若是此字符串按字典順序小於字符串參數,則返回一個小於 0 的值;若是此字符串按字典順序大於字符串參數,則返回一個大於 0 的值。