Java常用工具類

          一、Object類

          java.lang.Object

          ?

          Object類是所有類直接或間接的父類

          常用的方法:

          ?

          toString():以字符串形式返回對象的文本信息;

          ?

          hashCode():返回該對象的哈希值;

          ?

          getClass():返回對象的類類型;??

          ?

          equals(Object obj):比較兩個對象是否相等

          ?
          package Practice_Anything; public class String_demo { public static void
          main(String[] args) { String s = new String("你好"); String s1 = new
          String("世界"); Class<?> c = s.getClass();//返回對象的類類型 System.out.println(c);
          boolean flag = s.equals(s1);//比較兩個對象是否相等 System.out.println(flag); int hash =
          s.hashCode();//返回該對象的哈希值 int hash1 = s1.hashCode(); System.out.println(hash+"
          "+hash1); String s2 = s.toString();//以字符串形式返回對象的文本信息 String s3 = s1.toString();
          System.out.println(s2+s3); } }
          ?

            
          運行結果: class java.lang.String false 652829 649718 你好世界
            

          二、包裝類

          裝箱與拆箱

          以Byte為例

          java.lang.Byte

          public final class Byte extend Number

          Byte 類將基本類型 byte 的值包裝在一個對象中。一個 Byte 類型的對象只包含一個類型為 byte 的字段。?
          package Practice_Anything; public class Box_Demo { public static void
          main(String[] args) { byte b =1;//基本數據類型 System.out.println(b); Byte b1 = new
          Byte(b);//包裝類的對象 System.out.println(b1); Byte b2 = b;//自動裝箱,把基本數據類型轉為對象
          System.out.println(b2); byte b3 = new Byte(b);//自動拆箱,把對象轉為基本數據類型
          System.out.println(b3); } }
            
          運行結果: 1 1 1 1
            

          三、Number類

          java.lang.Number

          public abstract class Number extends Object implements Serializable

          ?

          抽象類 Number 是 BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 類的超類。

          ?

          Number 的子類必須提供將表示的數值轉換為 byte、double、float、int、long 和 short 的方法。?

          ?

          以Integer為例

          java.lang.Integer

          public final class Integer extends Number

          ?

          Integer 類在對象中包裝了一個基本類型 int 的值。Integer 類型的對象包含一個 int 類型的字段。

          ?

          此外,該類提供了多個方法,能在 int 類型和 String 類型之間互相轉換,還提供了處理 int 類型時非常有用的其他一些常量和方法。

          常用的方法:

          ?

          ?

          * 構造方法;
          * compareTo():在數字上比較兩個 Integer 對象。
          * valueOf():返回一個表示指定的 int 值的 Integer 實例。
          * toString():返回一個表示該 Integer 值的 String 對象。
          ?
          package Practice_Anything; public class Integer_Demo { public static void
          main(String[] args) { Integer i = new Integer(2);//構造一個新分配的 Integer 對象,它表示指定的
          int 值。 System.out.println(i); Integer i2 = new Integer("3");//構造一個新分配的 Integer
          對象,它表示 String 參數所指示的 int 值。 System.out.println(i2); //如果該 Integer 等于 Integer
          參數,則返回 0 值;如果該 Integer 在數字上小于 Integer 參數,則返回小于 0 的值; //如果 Integer 在數字上大于
          Integer 參數,則返回大于 0 的值(有符號的比較)。 int i3 = i.compareTo(i2);
          System.out.println(i3); String s = "5"; Integer i4 = Integer.decode(s);//將
          String 解碼為 Integer。 System.out.println(i4); Integer i5 =
          Integer.valueOf(6);//返回一個表示指定的 int 值的 Integer 實例。 System.out.println(i5);
          Integer i6 = Integer.valueOf(s);//返回保存指定的 String 的值的 Integer 對象。
          System.out.println(i6); String s1 = i.toString();//返回一個表示該 Integer 值的 String
          對象。 System.out.println(s1); String s2 =Integer.toString(i);//返回一個表示指定整數的 String
          對象。 System.out.println(s2); } }
          ?

            
          運行結果: 2 3 -1 5 6 5 2 2
            

          四、Character類

          java.lang.Character

          public final class Character extends Object

          ?

          Character 類在對象中包裝一個基本類型 char 的值。Character 類型的對象包含類型為 char 的單個字段。

          ?

          此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數字,等等),并將字符從大寫轉換成小寫,反之亦然。?

          ?

          常用的方法:

          valueOf():返回一個表示指定 char 值的 Character 實例

          toString():返回表示此 Character 值的 String 對象。

          isDigit():判斷是否為數字

          isLetter():判斷是否為字母

          isUpperCase():判斷是否為大寫字母

          isLowerCase():判斷是否為小寫字母

          isWhitespace():判斷是否為空格

          toUpperCase():轉為大寫字母

          toLowerCase():轉為小寫字母

          ?
          package Practice_Anything; public class Character_Demo { public static void
          main(String[] args) { Character c = new Character('d');//構造方法
          System.out.println(c); char c1 = c.charValue();//返回此 Character 對象的值。
          System.out.println(c); char c2 = Character.valueOf(c);//返回一個表示指定 char 值的
          Character 實例 System.out.println(c); String s = c.toString();//返回表示此 Character
          值的 String 對象。 System.out.println(s); boolean b =
          Character.isDigit(c);//判斷指定字符是否為數字。 System.out.println(b); boolean b1 =
          Character.isLetter(c);//判斷指定字符是否為字母 System.out.println(b1); boolean b2 =
          Character.isUpperCase(c);//判斷是否為大寫字母 System.out.println(b2); boolean b3 =
          Character.isLowerCase(c);//判斷是否為小寫字母 System.out.println(b3); boolean b4 =
          Character.isWhitespace(c);//判斷是否為空格 System.out.println(b4); char c3 =
          Character.toUpperCase(c);//轉為大寫字母 System.out.println(c3); char c4 =
          Character.toLowerCase(c3);//轉為小寫字母 System.out.println(c4); } }
            
          運行結果: d d d d false true false true false D d
            

          五、String類

          java.lang.String

          public final class String extends Object

          ?

          String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實例實現。

          ?

          字符串是常量;它們的值在創(chuàng)建之后不能更改。字符串緩沖區(qū)支持可變的字符串。因為 String 對象是不可變的,所以可以共享。

          ?

          String對象為什么不可變?

          ?


          字符串常量池是java堆內存中一個特殊的存儲區(qū)域,當創(chuàng)建一個String對象,假如此字符串值已經存在于常量池中,則不會創(chuàng)建一個新的對象,而是引用已經存在的對象。

          ?

          代碼如下:

          ?

            String s1 = "ABC";

          ?

            String s2 = "ABC";

          ?


          在java中內存分為堆內存和棧內存,堆內存存放的是對象,棧內存存儲對象的引用,字符串“ABC”存放在堆內存中,而s1,s2作為對象的引用則存放在棧內存中,原理如下:

          ?

                堆內存?????? 棧內存

          ?

          ?String對象 ?"ABC"______ s1? String變量的引用

          ?

          ??????????? ?  ????? |______ s2

          ?

          假設:字符串對象允許改變,那么將會導致各種邏輯錯誤。比如改變一個對象卻影響到另外一個獨立的對象。

          ?

          常用方法

          ?

          * charAt(int? i):返回指定索引處的字符;
          * length():返回字符串的長度;
          * contains(CharSequence? c):判斷字符串中是否包含指定的字符序列;CharSequence是一個接口,String是它的一個實現類
          * startsWith(String s):判斷字符串是否以指定的前綴開始;
          * endsWith(String s):判斷字符串是否以指定的后綴結束;
          * indexOf(char c):返回指定字符在字符串中第一次出現的索引;
          * lastIndexOf(char c):返回指定字符在字符串中最后一次出現的索引;
          * isEmpty():當且僅當字符串長度為0時,返回true;
          * replace(char old,char new):把字符串中的old字符替換為new字符,然后返回一個新字符串;
          * split(String s):根據指定的規(guī)則拆分字符串,返回字符串數組;
          * subString(int begin,int end):按照指定的索引截取字符串,從begin(包含)開始,到end(不包含)結束;
          * toLowerCase():把字符串的英文字母全部轉為小寫;
          * toUpperCase():把字符串的英文字母全部轉為大寫;
          * trim():清除字符串前后的空白字符;
          * valueOf():把指定類型的數據轉為字符串類型;
          * toCharArray():把字符串轉為字符數組;
          ?
          package Practice_Anything; public class String_Demod { public static void
          main(String[] args) { String s = new String("ZhangYuxian"); int i =
          s.length();//返回字符串的長度; System.out.println("s的長度:"+i); char c =
          s.charAt(5);//返回指定索引處的字符; System.out.println("索引值為5的字母:"+c); boolean flag =
          s.contains("xian");//判斷字符串中是否包含指定的字符序列
          System.out.println("字符串s中是否存在xian:"+flag); boolean flag1 =
          s.startsWith("Z");//判斷字符串是否以指定的前綴開始 System.out.println("s字符串是否以Z開始:"+flag1);
          boolean flag2 = s.endsWith("n");//判斷字符串是否以指定的后綴結束
          System.out.println("s字符串是否以n結束:"+flag2); int i1 =
          s.indexOf('Y');//返回指定字符在字符串中第一次出現的索引
          System.out.println("字符Y在字符串s中第一次出現的索引:"+i1); int i2 =
          s.lastIndexOf('n');//返回指定字符在字符串中最后一次出現的索引
          System.out.println("字符n在字符串s中最后一次出現的索引:"+i2); boolean flag3 = s.isEmpty();//
          當且僅當 length() 為 0 時返回 true。 System.out.println("字符串s的長度是否為零:"+flag3);
          //把字符串中的old字符替換為new字符,然后返回一個新字符串; String s1 = s.replace('x','t');
          System.out.println("把s字符串中的x替換為t后的新字符串為:"+s1); String[] s2 =
          s.split("n");//根據指定的規(guī)則拆分字符串,返回字符串數組; System.out.print("用指定的n拆分字符串s,得到字符串數組:");
          for(String s3:s2){ System.out.print(s3+" "); } System.out.println(); String s3
          = s.substring(5);//按照指定的索引截取字符串
          System.out.println("從字符串s中索引為5的字符截取生成新的字符串:"+s3); String s4 =
          s.substring(0,5);//按照指定的索引截取字符串,從begin(包含)開始,到end(不包含)結束;
          System.out.println("從字符串s中截取索引值[0,5)的字符組成新的字符串"+s4); String s5 =
          s.toLowerCase();//把字符串的英文字母全部轉為小寫; System.out.println("把字符串s中的英文字母全部轉為小寫:"+s5);
          String s6 = s.toUpperCase();//把字符串的英文字母全部轉為大寫;
          System.out.println("把字符串s中的英文字母全部轉為大寫:"+s6); String s7 =" Z h a ng ";
          System.out.println("原始狀態(tài):"+s7); String s8 = s7.trim();//清除字符串前后的空白字符;
          System.out.println("清除字符串前后空格后的狀態(tài):"+s8); char[] chars = {'Z','y','x'}; String
          s9 = String.valueOf(chars);//把指定類型的數據轉為字符串類型;
          System.out.println("把char類型的數組轉化為字符串類型:"+s9); String s10 = s.toString();//
          返回此對象本身(它已經是一個字符串?。?。 System.out.println(s10); char[] s11 =
          s.toCharArray();//把字符串轉為字符數組; System.out.print("遍歷字符數組:"); for(char c1:s11){
          System.out.print(c1+" "); } } }
          ?

            
          s的長度:11 索引值為5的字母:Y 字符串s中是否存在xian:true s字符串是否以Z開始:true s字符串是否以n結束:true
          字符Y在字符串s中第一次出現的索引:5 字符n在字符串s中最后一次出現的索引:10 字符串s的長度是否為零:false
          把s字符串中的x替換為t后的新字符串為:ZhangYutian 用指定的n拆分字符串s,得到字符串數組:Zha gYuxia
          從字符串s中索引為5的字符截取生成新的字符串:Yuxian 從字符串s中截取索引值[0,5)的字符組成新的字符串Zhang
          把字符串s中的英文字母全部轉為小寫:zhangyuxian 把字符串s中的英文字母全部轉為大寫:ZHANGYUXIAN 原始狀態(tài): Z h a ng 清
          除字符串前后空格后的狀態(tài):Z h a ng 把char類型的數組轉化為字符串類型:Zyx ZhangYuxian 遍歷字符數組:Z h a n g Y u x
          i a n
            

          ?六、日期類

          ?Date類

          java.util.Date

          public class Date extends Object

          類 Date 表示特定的瞬間,精確到毫秒。?

          Calendar類

          java.util.Calendar

          public abstract class Calendar extends Object

          Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段 <>
          之間的轉換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距 <>歷元(即格林威治標準時間 1970 年 1
          月 1 日的 00:00:00.000,格里高利歷)的偏移量。

          該類還為實現包范圍外的具體日歷系統(tǒng)提供了其他字段和方法。這些字段和方法被定義為 protected。

          與其他語言環(huán)境敏感類一樣,Calendar 提供了一個類方法 getInstance,以獲得此類型的一個通用的對象。Calendar 的
          getInstance 方法返回一個 Calendar 對象,其日歷字段已由當前日期和時間初始化:
          Calendar rightNow = Calendar.getInstance();
          Calendar 對象能夠生成為特定語言和日歷風格實現日期-時間格式化所需的所有日歷字段值,例如,日語-格里高里歷,日語-傳統(tǒng)日歷。Calendar
          定義了某些日歷字段返回值的范圍,以及這些值的含義。例如,對于所有日歷,日歷系統(tǒng)第一個月的值是MONTH == JANUARY。其他值是由具體子類(例如 ERA
          )定義的。有關此內容的細節(jié),請參閱每個字段的文檔和子類文檔。?

          Format類?

          java.text.Format

          public abstract class Format extends Object

          ?

          Format 是一個用于格式化語言環(huán)境敏感的信息(如日期、消息和數字)的抽象基類。

          ?

          Format 定義了編程接口,用于將語言環(huán)境敏感的對象格式化為 String(使用 format 方法)和將 String 重新解析為對象(使用
          parseObject 方法)。

          ?

          通常,一個 format 的 parseObject 方法必須能解析任何由其 format 方法格式化的字符串。不過,也可能存在不能解析的異常情況。例如,
          format 方法可能創(chuàng)建中間無分隔符的兩個相鄰整數,在這種情況下,parseObject 無法判斷哪個數字屬于哪個數。?

          ?

          ?

          DateFormat類

          java.text.DateFormat

          public abstract class DateFormat?

          ?

          DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化并解析日期或時間。日期/時間格式化子類(如
          SimpleDateFormat)允許進行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和標準化。將日期表示為Date 對象,或者表示為從
          GMT(格林尼治標準時間)1970 年 1 月 1 日 00:00:00 這一刻開始的毫秒數。

          ?

          DateFormat 提供了很多類方法,以獲得基于默認或給定語言環(huán)境和多種格式化風格的默認日期/時間 Formatter。格式化風格包括
          FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用這些風格的更多細節(jié)和示例。?

          ?

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關注微信

                欧美一区二区三区四区夜夜大片 | 伦理丰满女邻居做爰bd | 无套内谢少妇高潮免费 | 一本色道88久久加勒比精品 | 国产91对白在线观看九色 |