java常用类(一)
歡迎大家訪問我的工作室官網和建站官網哦。
- 包裝類
一、為什么需要 包裝類?
JAVA并不是純面向對象的語言。Java語言是一個面向對象的語言,但是Java中的基本數據類型卻
是不面向對象的。但是我們在實際使用中經常需要將基本數據轉化成對象,便于操作。比如:
集合的操作中。 這時,我們就需要將基本類型數據轉化成對象!
二、包裝類均位于java.lang包,包裝類和基本數據類型的對應關系:
| 基本數據類型 | 包裝類 |
| byte | Byte |
| boolean | Boolean |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
①提供:字符串、基本類型數據、對象之間互相轉化的方式!
②包含每種基本數據類型的相關屬性如最大值、最小值等
③所有的包裝類(Wrapper Class)都有類似的方法,掌握一個其他都類似!
int類型最大的整數:2147483647
- 自動裝箱和自動拆箱
一、 自動裝箱-boxing就是自動將基本數據類型轉換為包裝器類型;
基本類型就自動地封裝到與它相同類型的包裝中
Integer i = 100;
本質上是,編譯器編譯時為我們添加了: Integer i = Integer.valueOf(100);
二、自動拆箱autounboxing就是自動將包裝器類型轉換為基本數據類型。
包裝類對象自動轉換成基本類型數據。如:
int a = new Integer(100);
本質上,編譯器編譯時為我們添加了:
int a = new Integer(100).intValue();
看下面代碼 測試自動裝箱、自動拆箱
/*** 測試自動裝箱、自動拆箱* @author 梁雪**/ public class TestAutoBox {public static void main(String[] args) {Integer a = 234; //自動裝箱。Integer a = Integer.valueOf(234);int b = a; //自動拆箱。編譯器會修改成:int b = a.intValue();Integer c = null; // if(c!=null){ // int d = c; //自動拆箱:調用了:c.intValue() // }//緩存[-128,127]之間的數字。實際就是系統初始的時候,創建了[-128,127]之間的一個緩存數組。//當我們調用valueOf()的時候,首先檢查是否在[-128,127]之間,如果在這個范圍則直接從緩存數組中拿出已經建好的對象//如果不在這個范圍,則創建新的Integer對象。Integer in1 = Integer.valueOf(-128); Integer in2 = -128;System.out.println(in1 == in2);//true 因為123在緩存范圍內System.out.println(in1.equals(in2));//trueSystem.out.println("################");Integer in3 = 1234;Integer in4 = 1234;System.out.println(in3 == in4);//false 因為1234不在緩存范圍內System.out.println(in3.equals(in4));//true} }- 字符串相關類String
一、String(不可變字符序列)
①Java字符串就是Unicode字符序列,例如串“Java”就是4個Unicode字符J,a,v,a組成的。
②Java字符串就是Unicode字符序列,例如串“Java”就是4個Unicode字符J,a,v,a組成的。
③Java允許使用符號"+"把兩個字符串連接起來
二、String類的常用方法
? char charAt(int index)
返回字符串中第index個字符。
? boolean equals(String other)
如果字符串與other相等,返回true
? boolean equalsIgnoreCase(String other)
如果字符串與other相等(忽略大小寫),則返回true
? int indexOf(String str) lastIndexOf() ? int length()
返回字符串的長度。
? String replace(char oldChar,char newChar)
返回一個新串它是通過用 newChar 替換此字符串中出現的所有oldChar而生
? boolean startsWith(String prefix)
如果字符串以prefix開始,則返回true
? boolean endsWith(String prefix)
如果字符串以prefix結尾,則返回true
? String substring(int beginIndex) ? String substring(int beginIndex,int endIndex)
返回一個新字符串,該串包含從原始字符串beginIndex到串尾或endIndex-1的所有字符
? String toLowerCase()
返回一個新字符串,該串將原始字符串中的所有大寫字母改成小寫字母
? String toUpperCase()
返回一個新字符串,該串將原始字符串中的所有小寫字母改成大寫字母
? String trim()
返回一個新字符串,該串刪除了原始字符串頭部和尾部的空格
三、字符串相等的判斷(一般使用equals方法)
equals判斷字符串值相等,==判斷字符串對象引用相等!
- StringBuffe和StringBuilder
StringBuffer和StringBuilder非常類似,均代表可變的字符序列,而且方法也一樣
字符串選用
String:不可變字符序列
StringBuilder:可變字符序列、效率高、線程不安全
StringBuilder:可變字符序列、效率低、線程安全
String使用陷阱:
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
寫在最后:如果大家需要各類資源,可以到我的主頁看一下哦,總有一款你需要的哦
總結
以上是生活随笔為你收集整理的java常用类(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫爬取博客_Python爬
- 下一篇: 无聊写个手势插件