歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java中的基本數據類型與封裝類

Java提供了一組基本數據類型,包括boolean, byte, char, short,  int, long, float, double, void. 同時,java也提供了這些類型的封裝類,分別為Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void。

既然提供了基本類型,為什麼還要使用封裝類呢?

  • 某些情況下,數據必須作為對象出現,此時必須使用封裝類來將簡單類型封裝成對象。

  1. 比如,如果想使用List來保存數值,由於List中只能添加對象,因此我們需要將數據封裝到封裝類中再加入List。在JDK5.0以後可以自動封包,可以簡寫成list.add(1)的形式,但添加的數據依然是封裝後的對象。 
  2. 另外,有些情況下,我們也會編寫諸如func(Object o)的這種方法,它可以接受所有類型的對象數據,但對於簡單數據類型,我們則必須使用封裝類的對象。

  • 某些情況下,使用封裝類使我們可以更加方便的操作數據。比如封裝類具有一些基本類型不具備的方法,比如valueOf(), toString(), 以及方便的返回各種類型數據的方法,如Integer的shortValue(), longValue(), intValue()等。

基本數據類型與其對應的封裝類由於本質的不同,具有一些區別:

  • 基本數據類型只能按值傳遞,而封裝類按引用傳遞。
  • 基本類型在堆棧中創建;而對於對象類型,對象在堆中創建,對象的引用在堆棧中創建。基本類型由於在堆棧中,效率會比較高,但是可能會存在內存洩漏的問題。
Copyright © Linux教程網 All Rights Reserved