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