作爲一個非java程序員,但又想走安卓方向的,參加了面試發現需要手擼代碼寫不出來啊(肯定涼了),一些常見的方法不知道,需要查閱文檔可是不行,平時都是用android studio直接出代碼的(沒有工具我就不會寫代碼了)只能亡羊補牢了,補一下了。
java中的基本數據類型沒有方法和屬性(不是對象),使用包裝類使得這些基本數據類型擁有方法和屬性,實現對象化交互。
包裝類:將基本的數據類型及一些輔助方法包裝到類中。
包裝類分爲兩類一類是對象型包裝類,不繼承任何其他類(Object的直接類),另一類是數值型包裝類,繼承於Nmuber類。
裝箱:將基本數據類型轉換成包裝類對象。
拆箱:將包裝類轉換成基本數據類型。
//自動裝箱
int a1 = 0;
Integer a2 = a1;
//手動裝箱(構造方法)
Integer a3 = new Integer(a1);
//自動拆箱
int a4 = a2;
//手動拆箱,需要不同的基本數據類型使用對應的xxxValue方法,xxx對應數據類型:int,double等
int a5 = a2.intValue();
包裝類對象的初始化值爲null(對象)。
字符串轉換:
使用包裝類toString()方法,把基本類型轉換成字符串
調用包裝類parseXxx()靜態方法,或者先將字符串轉換成包裝類再拆箱轉換成基本類型。字符串轉換成基本類型。
char是java八種基本類型之一。Character類(包裝類):用於對單個字符進行操作,提供了方法來操作字符。
string是j字符串,是對象不是類型。String類(包裝類):用於創建和操作字符串。
注:通過new關鍵字創建對象會開闢不同的內存空間。
Character類
列出一些常用的方法:
isLetter()//是否是一個字母字符
isDigit()//是否是一個數字字符
isWhitespace//是否是一個空白字符
isUpperCase()//是否是大寫字母
isLowerCase()//是否是小寫字母
toUpperCase()//指定字母的大寫形式
toLowerCase()//指定字母的小寫形式
toString()//轉換成字符串
String類:
常用方法:
length()//獲取字符串對象包含的字符數
concat()//連接字符串,用+也可以
char charAt(int index)//返回索引處的char值
int compareTo(Object o)//把字符串和另一個對象比較
int compareTo(String s)//比較兩個字符串
int compareToIgnoreCase(String s)//比較兩個字符串,不考慮大小寫
boolean contentEquals(StringBuffer sb)//當字符串和指定的StringBuffer具有想的順序的字符時返回真
static String copyValueOf(char[] c 【,int offset,int count ]】)//返回指定數組中表示該字符序列的String
boolean statrsWith(String s)//此字符串是否以指定的前綴開始
boolean endsWith(String s)//此字符是否以指定的後綴結束
boolean equals(Object o)//字符串與指定的對象比較
byte[] getBytes(【String s】)使用平臺的默認字符集將此String編碼爲byte序列,並將結果儲存到一個新的byte數組中
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)//將字符從此字符串複製到目標字符數組
int indexOf(int c)//返回指定字符在此字符串第一次出現的索引
int indexOf(String s)//返回指定子字符串在此字符串中第一次出現的索引
int hashCode()//返回此字符串的哈希碼
int lastIndexOf(int c)//返回指定字符在字符串中最後一次出現處的索引
int lastIndexOf(String s)//同上
String replace(char old,char new)//返回一個新的字符串,通過new代替字符串中出現所有的old
String replaceAll(String regex,String replacement)//使用給定的replacement替換此字符串所有匹配的正則表達式的子字符串
String replaceFirst(String regex,String replacement)//使用給定的replacement替換此字符串第匹配的正則表達式的第一個子字符串
String split(String regex)//根據正則表達式拆分字符串
char[] toCharArray()//將此字符串轉換成一個新的字符數組
String toLowerCase()//將此字符串全部轉換爲小寫
String toUpperCase()//將此字符串全部轉換成大寫
String trim()//返回字符串的副本,忽略前空白和尾部空白
創建格式化字符串
format()//返回一個String對象
printf()//直接打印輸出
當對字符串進行修改的時候,需要使用StringBuffer和StringBuilder類(String對象的改變不是改變原對象,而是生成一個新的對象)。StringBuffer和StringBuilder類的對象能夠被多次修改。
有線程安全要求的情況下,必須使用StringBuffer類。StringBuilder比StringBuffer有速度優勢。