java開發項目經驗描述,java簡歷包裝項目經驗怎麼寫

雖然 Java 語言是典型的面向對象編程語言,但其中的八種基本數據類型並不支持面向對象編程,基本類型的數據不具備「對象」的特性——不攜帶屬性、沒有方法可調用。 沿用它們只是為了迎合人類根深蒂固的習慣,並的確能簡單、有效地進行常規數據處理。

這種藉助於非面向對象技術的做法有時也會帶來不便,比如引用類型數據均繼承了 Object 類的特性,要轉換為 String 類型(經常有這種需要)時只要簡單調用 Object 類中定義的toString()即可,而基本數據類型轉換為 String 類型則要麻煩得多。為解決此類問題 ,Java為每種基本數據類型分別設計了對應的類,稱之為包裝類(Wrapper Classes),也有教材稱為外覆類或數據類型類。

基本數據類型及對應的包裝類

基本數據類型對應的包裝類
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

每個包裝類的對象可以封裝一個相應的基本類型的數據,並提供了其它一些有用的方法。包裝類對象一經創建,其內容(所封裝的基本類型數據值)不可改變。

基本類型和對應的包裝類可以相互裝換:

  • 由基本類型向對應的包裝類轉換稱為裝箱,例如把 int 包裝成 Integer 類的對象;
  • 包裝類向對應的基本類型轉換稱為拆箱,例如把 Integer 類的對象重新簡化為 int。

包裝類的應用

八個包裝類的使用比較相似,下面是常見的應用場景。

1) 實現 int 和 Integer 的相互轉換

可以通過 Integer 類的構造方法將 int 裝箱,通過 Integer 類的 intValue 方法將 Integer 拆箱。例如:

public class Demo {public static void main(String[] args) {int m = 500;Integer obj = new Integer(m); // 手動裝箱int n = obj.intValue(); // 手動拆箱System.out.println("n = " + n);Integer obj1 = new Integer(500);System.out.println("obj 等價於 obj1?" + obj.equals(obj1));}}

運行結果:

n = 500

obj 等價於 obj1?true

2) 將字元串轉換為整數

Integer 類有一個靜態的 paseInt() 方法,可以將字元串轉換為整數,語法為:

parseInt(String s, int radix);

s 為要轉換的字元串,radix 為進位,可選,默認為十進位。

下面的代碼將會告訴你什麼樣的字元串可以轉換為整數:

public class Demo {public static void main(String[] args) {String str[] = {"123", "123abc", "abc123", "abcxyz"};for(String str1 : str){try{int m = Integer.parseInt(str1, 10);System.out.println(str1 + " 可以轉換為整數 " + m);}catch(Exception e){System.out.println(str1 + " 無法轉換為整數");}}}}

運行結果:

123 可以轉換為整數 123

123abc 無法轉換為整數

abc123 無法轉換為整數

abcxyz 無法轉換為整數

3) 將整數轉換為字元串

Integer 類有一個靜態的 toString() 方法,可以將整數轉換為字元串。例如:

public class Demo {public static void main(String[] args) {int m = 500;String s = Integer.toString(m);System.out.println("s = " + s);}}

運行結果:

s = 500

自動拆箱和裝箱

上面的例子都需要手動實例化一個包裝類,稱為手動拆箱裝箱。Java 1.5(5.0) 之前必須手動拆箱裝箱。

Java 1.5 之後可以自動拆箱裝箱,也就是在進行基本數據類型和對應的包裝類轉換時,系統將自動進行,這將大大方便程序員的代碼書寫。例如:

public class Demo {public static void main(String[] args) {int m = 500;Integer obj = m; // 自動裝箱int n = obj; // 自動拆箱System.out.println("n = " + n);Integer obj1 = 500;System.out.println("obj 等價於 obj1?" + obj.equals(obj1));}}

運行結果:

n = 500

obj 等價於 obj1?true

自動拆箱裝箱是常用的一個功能,需要重點掌握。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/228419.html

(1)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 21:47
下一篇 2024-12-09 21:47

相關推薦

發表回復

登錄後才能評論