Java中long和Long有什么区别

Python011

Java中long和Long有什么区别,第1张

long是基本类型,Long是对象类型Long又叫 long的包装类,

你的代码中,用到了泛型,关于泛型的规定:

1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。

2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。

3、泛型的类型参数可以有多个。

4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。

5、泛型的参数类型还可以是通配符类型。例如Class<?>classType = Class.forName(java.lang.String)

请看第一条关于泛型的要求,其参数必须是类类型的,意味着,LinkedHashMap<Object,Long>cache=new LinkedHashMap<Object,Long>()中的参数类型,必须采用表示类类型的Long.

范围:-9223372036854775808到9223372036854775807

解释:long类型是64位的也就是 ”-2^64“ 到”2^64 -1“.

在定义long类型时,如果数据类型超过int类型的取值范围,数据后面要加l或L,不超过则不需要加。

byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)

short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)

int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)

long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)。