Java 基本資料型類別(primitive type)和外包類別(wrapper classes)
文章推薦指數: 80 %
基本資料型類別(primitive type),又稱為工具類別,例如char, int等,和外包類別(wrapper classes) Character, Integer是有分別的。
錯誤示範:
skiptomain|
skiptosidebar
首頁
2012年3月29日星期四
Java基本資料型類別(primitivetype)和外包類別(wrapperclasses)
清晨5:37
zan
Nocomments
在這篇網誌,主要是記下Java裡基本資料型類別(primitivetype),和外包類別(wrapperclasses)的分別。
基本資料型類別(primitivetype),又稱為工具類別,例如char,int等,和外包類別(wrapperclasses)Character,Integer是有分別的。
錯誤示範:
(例如通過char去調用Character裡的staticmethod)
chara='a';
charcapA=a.toUpperCase(a);
當做字串與數值的轉換的話,常常會將基本資料型類別(primitivetype)包裝成外包類別(wrapperclasses)
例如:
Stringstr="50";
Integeri=new
Integer(str);
i=i-10;
System.out.println(i); //結果會是40
使用外包類別代替基本資料型類別的缺點是在運算上會比較基本資料型類別慢一點。
另外,在進行比較時也要小心:
Charactera=newCharacter('a');
CharacterbigA=newCharacter('A');
Charactera2=newCharacter('a');
System.out.println("resulta>A:"+(a>bigA)); //結果是true
System.out.println("resulta==a2:"+(a==a2)); //結果是false
System.out.println("resulta==a2:"+(a.equals(a2))); //結果是true
問題就出在 a> bigA的比較時,這兩個物件會先做unboxing成基本資料型類別primitivetype再比較。
但是在做a==a2的比較時,這兩個變數會被當成物件來處理,而不做unboxing,結果就是false,因為本身就是不同的reference,如要進行時應使用equals()。
以下表列了Java的PrimitiveType和對應的外包類別:
PrimitiveType
Size
MinimumValue
MaximumValue
WrapperType
char
16-bit
Unicode0
Unicode216-1
Character
byte
8-bit
-128
+127
Byte
short
16-bit
-215
(-32,768)
+215-1
(32,767)
Short
int
32-bit
-231
(-2,147,483,648)
+231-1
(2,147,483,647)
Integer
long
64-bit
-263
(-9,223,372,036,854,775,808)
+263-1
(9,223,372,036,854,775,807)
Long
float
32-bit
32-bitIEEE754floating-pointnumbers
Float
double
64-bit
64-bitIEEE754floating-pointnumbers
Double
boolean
1-bit
true 或false
Boolean
Postedin:[業精於勤][編程]Java筆記
以電子郵件傳送這篇文章
BlogThis!
分享至Twitter
分享至Facebook
較新的文章
較舊的文章
首頁
0
意見:
張貼留言
Popular
Tags
BlogArchives
文章分類
GoogleTranslate
PopularPosts
Java基本資料型類別(primitivetype)和外包類別(wrapperclasses)
免費好用的研究論文的管理軟件–Qiqqa
不用Android手機也能免費獲得23GBDropbox空間
Dropbox將收回非正式得到的23GB免費空間
Google瀏覽器Chrome18正式推出-支援硬體加速
PhotoshopCS6Beta公開下載
Dropbox把介紹朋友所得的免費空間提升至500MB
Google街景旅遊導覽-日本櫻花季
顏色配對遊戲ColorMatchingGame
Android5.0JellyBean作業系統可能在今年第三季推出?
Followers
技術提供:Blogger.
BlogArchive
▼
2012
(17)
►
四月
(5)
▼
三月
(11)
GoogeDrive將於四月推出,免費空間由5GB起跳?
Google瀏覽器Chrome18正式推出-支援硬體加速
Java基本資料型類別(primitivetype)和外包類別(wrapperclasses)
不用Android手機也能免費獲得23GBDropbox空間
Google街景旅遊導覽-日本櫻花季
Android5.0JellyBean作業系統可能在今年第三季推出?
香港國際七人欖球賽–HongKongSevens星期日賽程表&盃賽出線表
PhotoshopCS6Beta公開下載
香港國際七人欖球賽-HongKongSevens
顏色配對遊戲ColorMatchingGame
免費好用的研究論文的管理軟件–Qiqqa
►
一月
(1)
Tags
[及時行樂][欖球]香港國際七人欖球賽
(2)
[及時行樂]遊戲
(1)
[新鮮人事物][科技]谷歌
(5)
[新鮮人事物][科技]軟件
(1)
[新鮮人事物][科技]雲端系統
(5)
[新鮮人事物]其他
(1)
[業精於勤][研究]工具
(1)
[業精於勤][編程]Java筆記
(1)
BlogArchive
▼
2012
(17)
►
四月
(5)
▼
三月
(11)
GoogeDrive將於四月推出,免費空間由5GB起跳?
Google瀏覽器Chrome18正式推出-支援硬體加速
Java基本資料型類別(primitivetype)和外包類別(wrapperclasses)
不用Android手機也能免費獲得23GBDropbox空間
Google街景旅遊導覽-日本櫻花季
Android5.0JellyBean作業系統可能在今年第三季推出?
香港國際七人欖球賽–HongKongSevens星期日賽程表&盃賽出線表
PhotoshopCS6Beta公開下載
香港國際七人欖球賽-HongKongSevens
顏色配對遊戲ColorMatchingGame
免費好用的研究論文的管理軟件–Qiqqa
►
一月
(1)
Copyright©2012BlueSky
延伸文章資訊
- 1Primitive Data Types - Java Tutorials - Oracle Help Center
Primitive Data Types · byte: The byte data type is an 8-bit signed two's complement integer. · sh...
- 2Java Data Types - W3Schools
A primitive data type specifies the size and type of variable values, and it has no additional me...
- 3[Java] Wrapper Classes 介紹 - iT 邦幫忙
閱讀時間: 10分鐘. Wrapper class 內的物件(object) 是包含基本資料型類別(primitive data types)。 當我們利用Wrapper class創建一個物件...
- 4[Java] 4-1 Primitive data type基本資料型態 - 給你魚竿
Java內有8大基本資料型態Primitive data type 相較於其他物件使用基本資料型態就是非常快以下就介紹如下: 1. 官網https://docs.oracle.com/javas.
- 5Primitive Types - Wikibooks, open books for an open world
Primitive types are the most basic data types available within the Java language. There are 8: bo...