天天看点

java中Long和long的区别

之前做项目的时候多少接触了这个问题。只是一直没用到这个类型,写的项目都是一些很小的,数据量很少。今天给项目大框架的时候发现,数据库(Oracle)里面Number类型的长度为10以下的时候,如果使用myEclipse自动生成实体类的,这时候你会发现:number(10)和number(9),他们生成的java实体类里面的属性的类型分别是Long和BigDecimal。

通过多方面查资料,得知一下内容。

Long是long的包装类,顾名思义Long继承long,而Long又和java基本数据类型int类似。

Long是长整型,这又和数据库中的varchar2类似,兼备varchar2很多的特性。

java API中这样说:

long 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。

long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

其数据范围:-9223372036854775808  ~  +9223372036854775807 (8 Bytes)

int的长度范围:-2147483648 ~ +2147483647 (4 Bytes)

java 1.5 之前  Long num =10L;和Long num = new Long(10);的意思一样。

之后出了个

就不行了,变了。前者变成Long类型变量的声明方式,后者是实例化对象。