Java中long和Long有什麼區別 (轉載)

「Long is a class. long is a primitive. That means Long can be null, where long can't. Long can go anywhere that takes an Object, long can't (since it isn't a class it doesn't derive from Object). java

Java will usually translate a Long into a long automatically (and vice versa), but won't for nulls (since a long can't be a long), and you need to use the Long version when you need to pass a class (such as in a generic declaration).this

spa

 

 

Java的數據類型分兩種:
1.基本類型:long,int,byte,float,double,char
2. 對象類型(類): Long,Integer,Byte,Float,Double,Char,String,其它一切java提供的,或者你本身建立的類。
code

其中Long又叫 long的包裝類。而Byte和Float也相似,通常包裝類的名字首寫是數值名的大寫開頭。對象

什麼叫包裝類?
在java中有時候的運算必須是兩個類對象之間進行的,不充許對象與數字之間進行運算。因此須要有一個對象,這個對象把數字進行了一下包裝,這樣這個對象就能夠和另外一個對象進行運算了。

好比咱們也能夠定義一個類:blog

1  class Long {
2      int i=0;
3      public Long ( int i){
4      this.i=i;
5     }
6 }

 

 這樣這個Long就是一個包裝類,他包裝了一個整數值,而後能夠在裏面寫一些運算符重載的方法使它支持某些運算。這個時候能夠賦值:
Long it=new Long(10);
如今變量it就是一個對象,不是一個數字。
內存

 

Long 是長整型,在怎麼長自己也是整型,12.10的整形部分是12,固然結果是12, ci

byte: 八位整數 -128——127,可用來節省內存的使用。
short: 16位整數 -32768——32,767,也比較省內存。
int: 32位整數 -2,147,483,648——2,147,483,647,通常來講整數都夠用了
long: 64位整數 -9,223,372,036,854,775,808—— 9,223,372,036,854,775,807,通常不須要用
float: 32位浮點,若是浮點須要節省內存用這個。
Double: 64位浮點,通常非整數浮點可用這個。
it

可是要記住float和double都不是精確的,若是要儲存錢一類的必須精確的,用java.math.BigDecimal io

相關文章
相關標籤/搜索