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

相关文章
相关标签/搜索