JAVA 常用類總結

1、String特性:
        ①String代表字符串
        ②String是final類,是不可變的字符序列,不能被繼承
            體現:1、當對字符串重新賦值時,需要重寫指定內存區域賦值,不能使用原有的value進行賦值
                  2、當對現有的字符串進行連接操作,也需要重新指定內存區域賦值,不能使用原有的value進行賦值
                  3、當調用String的replace()方法修改指定字符或字符串時,也需要重新指定內存區域賦值,不能使用原有的value進行賦值
        ③字符串是常量,用""引起來表示,它的值在創建後不能修改
        ④String對象的字符串存儲在一個字符數組char[],value用於存儲字符串
        ⑤String實現了serializable接口:支持可序列化
            Comparable接口:String可以比較大小
        ⑥通過字面量的方式(區別與new)給一個字符串賦值,字符串聲明在字符串常量池中
            new+構造器:數據在堆空間中開闢以後對應的地址值
        ⑦字符串常量池不會存儲相同的字符串
        總結:
            1、常量與常量拼接結果在常量池,常量池不會出現相同內容。
            2、只要拼接中有一個是變量,結果在堆中
            3、拼接調用intern()方法,返回值在常量池中
    2、常用方法:
        1、int length():返回字符串的長度 return value.length
        2、char charAt(int index):返回某索引出的字符串 return value[index]
        3、boolean isEmpty():判斷字符串是否爲空,return value.length == 0
        4、String toLowerCase():使用默認語言環境,將String所有字符轉換爲小寫
        5、String toUpperCase():使用默認語言環境,將String所有字符轉換爲大寫
        6、String trim():返回字符串的副本,去掉首位空格
        7、boolean equals(Object obj):比較字符串內容是否相等
        8、boolean equalslgnoreCase(Object obj):比較字符串內容是否相等,忽略大小寫
        9、String concat(String str):指定字符串拼接,相當於"+"
        10、int compareTo(String anotherString):比較兩個字符串大小
        11、String subString(int beginIndex):返回一個新的字符串,此字符串從begenIndex開始截取到最後一個字符串
        12、String subString(int beginIndex, int endIndex):返回一個新的字符串,此字符串從begenIndex開始截取到endIndex(不包含)的字符串
        13、boolean endsWith(String suffix):測試此字符串是否以指定的後綴結束
        14、boolean startsWith(String prefix):測試此字符串是否以指定的前綴開始
        15、boolean startsWith(String prefix,int toffset):測試此字符串從指定的索引開始的子字符串是否以指定的前綴開始
        16、boolean contains(CharSequence s):當且僅當此字符串包含指定的char值序列時,返回true
        17、int indexOf(String str):返回指定子字符串在此字符串中第一次出現位置的索引
        18、int indexOf(String str,int fromIndex):返回指定子字符串中第一次出現位置的索引,從指定的索引開始
        19、int lastIndexOf(String str):返回指定字符串在此字符串中從最右邊的位置的索引
        20、int lastIndexOf(String str,int fromIndex):返回指定字符串在此字符串中最後一次出現的的位置索引,從指定的索引開始反向搜索
            注:indexOf和lastIndexOf方法如果未找到都是返回-1
        21、String replace(char oldChar,char newChar):返回一個新的字符串,它是通過用newChar替換此字符串出現中的所有oldChar
        22、String replace(CharSequence target, CharSequence replacement):使用指定的字面值替換序列替換字符串所有匹配字面值目標序列的子字符串
        23、String replaceAll(String regex,String replacement):使用給定的replacement替換此字符串所有匹配給定的正則表達式的子字符串
        24、String replaceFirst(String regex, String replacement):使用給定的replacement替換此字符串匹配給定的正則表達式的第一個子字符串
        25、boolean matches(String regex):告知此字符串是否匹配給定的正則表達式
        26、String[] split(String regex):根據給定的正則表達式的匹配拆分此字符串
        27、String[] split(String regex, int limit):根據匹配給定的正則表達式來拆分此字符串,最多不超過limit個,如果超過了,剩下的全部都放到最後一個元素中
    3、String轉換:
        String --> 基本數據類型、包裝類:調用包裝類的靜態方法:parsexxx(str)
        基本數據類型、包裝類 --> String:調用String重載的valueOf(xxx)
        String --> char[] 之間轉換:調用String的toCharArray()
        char[] --> String 之間轉換:調用String構造器
        String --> byte[] 之間轉換:調用String的getBytes()
        byte[] --> String 之間轉換:調用String構造器
    4、String、StringBuffer、Stringbuilder三者異同:
        String:不可變的字符序列,底層使用char[]存儲
        StringBuffer:可變的字符序列,線程安全,效率低,底層使用char[]存儲
            增:append(xxx)
            減: delete(int start, int end) 從start開始到end結束,不包含end
            改:setCharAt(int n, int ch) / replace(int start, int end, String str)
            查:charAt(int n)
            插:insert(int offset, xxx)
            長度:length()
            遍歷:for() + charAt() / toString()
        StringBuilder:可變的字符序列,線程不安全,效率高,底層使用char[]存儲
        擴容:如果添加的數據底層數組不能滿足當前存儲,默認情況擴容是原來容量的2倍+2,將原有數組複製到新的數組中
        效率從高到底:StringBuilder > StringBuffer > String
    5、日期API:
        ①Java.lang.System時間戳:System.currentTimeMillis()
        ②Java.util.Date:
            兩個構造器使用:
                1、構造器一:Date():創建一個對應當前時間的Date對象
                2、構造器二:創建指定毫秒數的Date對象
            兩個方法:
                1、方法一:toString():顯示當前的年、月、日、時、分、秒
                2、方法二:getTime():獲取當前Date對象對應的毫秒數,時間戳
            java.sql.Date對應數據庫中的日期類型的變量
                1、如何實例化
                2、如何將java.util.Date轉化爲java.sql.Date對象
        ③Java.text.SimpleDateFormat:
            格式化:日期 -> 文本; 
            解析:文本 -> 日期
            1、SimpleDateFormat():默認的模式和語言環境創建對象
            2、public SimpleDateFormat(String pattern):該構造方法可以用參數pattern指定的格式創建一個對象,該對象調用:
            3、public String format(Date date):方法格式化時間對象date
            解析:
            public Date parse(String source):從給定字符串的開始解析文本,以生成一個日期
        ④Java.util.Calendar日曆類:Calendar是一個抽象基類,主要用於完成日期字段之間相互操作的功能。
            1、獲取Carlendar實例的方法:
                Carlendar.getInstance()方法
                調用它的子類GregorianCarlendar的構造器
            2、通過get(int field)來獲取想要的時間信息
            注意:
                獲取月份:一月是0,以此類推
                獲取星期:週日是1,以此類推
        ⑤LocalDate、LocalTime、LocalDateTime
            實例化:new() / now(Zoneld zone) 靜態方法,根據當前時間創建對象 / 指定時區的對象
                    of() 靜態方法,指定日期/時間創建對象
            get類操作:getDayOfMonth()/getDayOfYear()/getDayOfWeek()  獲取月份天數(1-31)/獲取年份天數(1-366)/獲取星期幾(返回一個DayOfweek枚舉值)
                       getMonth()/getMonthValue()/getYear() 獲得月份(返回一個month枚舉值)/獲得月份(1-12)/獲得年份
                       getHour()/getMiute()/getSecond()  獲取當前對象的小時/分鐘/秒
            set類操作:withDayOfMonth()/withDayOfYear()/withMonth()/withYear()  將月份天數/年份天數/月份/年份修改爲指定的值並返回新的對象
            加操作:plusDays()/plusWeeks()/plusMonths()/plusYears()/plusHours() 向當前對象添加天/星期/月/年/小時
            減操作:minusDays()/minusWeeks()/minusMonths()/minusYears()/minusHours() 向當前對象減掉天/星期/月/年/小時
        ⑥instant:時間線上的一個瞬時點
        ⑦Java.time.format.DateTimeFormat:格式化與解析日期或時間
            預定義標準格式:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
            方法:ofPattern(String pattern) 靜態方法,返回一個指定字符串格式的DateTImeFormat
                  format(TemporalAccessor t) 格式化一個日期、時間,返回一個字符串
                  parse(CharSequence text) 將指定的字符序列解析爲一個日期、時間
    6、Java比較器:
        接口對比:Comparable的方法一旦指定,保證Comparable接口實現類的對象在任何位置都可以比較大小;Comparator屬於臨時比較
        Comparable
            1、像String、包裝類實現了Comparable接口,重寫了comparaTo(obj)方法,給出了比較兩個對象的大小
            2、像String、包裝類重寫了comparaTo(obj)方法以後進行了從小到大排列
            3、重寫comparaTo(obj)規則:
                當前對象this大於形參obj對象,返回正整數
                當前對象this小於形參obj對象,返回負整數
                當前對象this等於形參obj對象,返回0
            4、對於自定義類來說,如果需要排序,我們可以讓自定義類實現Comparable接口,重寫comparaTo
                在comparaTo(obj)方法中指明如何排序
        Comparator:定製排序
            1、背景:當元素的類型沒有實現Java.lang.Comparable接口而又不方便修改代碼,或者實現了Java.lang.Comparable接口排序規則不適合當前的操作,
                考慮用COmparator的對象來排序
            2、重寫compara(Object o1, Object o2)方法,比較o1和o2的大小:
                如果方法返回正整數,則表示o1大於o2
                如果返回0,表示相等
                如果方法返回負數,表示o1小於o2
    7、System、Math、BigInteger、BigDecimal類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章