Java中long和Long有什么区别

如题所述

long是基本类型,Long是long的包装类

在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。

比如我们也可以定义一个类:

class Long {
long i=0;
public Long (long i){
this.i=i;
}
}

这样这个Long就是一个包装类,他包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值: 
Long it=new Long(10);
现在变量it就是一个对象,不是一个数字。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-29
long 是基本类型,不能为null,初始值为0
Long是 long的包装类,可以为null, 初始值为null
long 可以给Long赋值, Long 给 long 赋值时要判断是否null,如果null赋值给long,
则会抛空指针异常
第2个回答  2015-10-29

    long是基础数据类型,Long是long的封装类型,也叫包装类;

    什么叫包装类?在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。

    long的默认值是0;Long默认值是null;

    基本类型:long,int,byte,float,double,char,short,boolean

    基础数据类型、封装类型及默认值
        long(0)               Long(null)
        int(0)                  Integer(null)
        byte(0)               Byte(null)
        float(0.0)            Float(null)
        double(0.0)        Double(null)
        short(0)              Short(null)
        char(0)                Character(null)
        boolean(false)    Boolean(null)

相似回答