java 方法返回值类型 Long与long

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 方法返回值类型 Long与long相关的知识,希望对你有一定的参考价值。

public interface IUser
public Long getId();//为什么要大写?
public void setId();
Long "L"为什么要大写?

Java的数据类型分两种:
1.基本类型:long,int,byte,float,double,char
2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,String,其它一切java提供的,或者你自己创建的类。
其中Long又叫 long的包装类。而Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。
什么叫包装类?
在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
比如我们也可以定义一个类:
class Long
int i=0;
public Long (int i)
this.i=i;


这样这个Integer就是一个包装类,他包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值:
Long it=new Long(10);
现在变量it就是一个对象,不是一个数字。
long 是长整型,在怎么长本身也是整型,12.10的整形部分是12,当然结果是12,
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位浮点,一般非整数浮点可用这个。
但是要记住float和double都不是精确的,如果要储存钱一类的必须精确的,用java.math.BigDecimal
参考技术A long型的封装类是Long,一般这个是操作对象的写成Long比较好,如果是int的话你就可以写成Integer,double写成Double 参考技术B java把内存空间分为栈、堆、池,long是基础类型,放在栈内,Long是引用类型,放在堆内存里面,long的默认值是0,Long的默认值是null,比如有些内容,在数据库中保存时,可以是空,要是用long,在没有赋值的情况下,如果直接存储(比如用后ibernate)那就导致存入0到数据库,这种情况下就可以采用Long,存入数据库的就不是0了,而是null,追问

是不是Long定义的getId()方法返回值是类,另一个返回值是个数?

追答

都是类啊,只不过一个是引用类,另一个是基本类型,你问题里面的getId()返回的是引用类型(Long),不过从JDK1.4开始引入自动装箱、解箱机制,你定义一个基本类型的引用来引用getId()返回的值也可以(如果返回结果是null会抛出空指针异常),因为自动装箱、解箱机制会自动把Long变成long,同样也能把long自动变成Long。但是在JDK1.4是不能这样做的。

本回答被提问者采纳
参考技术C 大写的Long是基本类型long的包装类,Java语言对于基本类型的包装类与基本类型的转换是自动的,所以通常情况下使用包装类还是基本类型都可以。用包装类的话可以接收NULL值,而基本类型的long是没法做到的。所以通常接收表单信息的时候,使用包装类来处理数据,不至于因为页面提交null值而导致系统出现严重异常。 参考技术D Long和long严格的说不是一个类型,long是基本数据类型,Long是一个类不是基本数据类型,封装了long,可以将long转化成Long,具体可以看java基础。

Java数据类型 long 与 Long 的区别 和 正确用法

1.区别

(1)

long  是 基本类型  【类似于 int】

Long 是 对象类型  【类似于Integer】

 

(2)

long 默认值是 0

Long 默认值是 null

 

2.比较方法

(1)

Long a = new Long(1); 
Long b = new Long(2); 
System.out.println(a.equals(b));

(2)

Long 类型 也可以转 long类型  

如 a.longValue() 

上面的比较也可以转成long值比较  

System.out.println(a.longValue()  < b.longValue());

 

(3)

long c = 300; 
long d = 400; 
 
System.out.println(c>d);  
System.out.println(c<d);  
System.out.println(c==d);

 

以上是关于java 方法返回值类型 Long与long的主要内容,如果未能解决你的问题,请参考以下文章

ajax获取java后台的返回值,long的值为啥会四舍五入解决办法

web api c#为带有角度的long数据类型返回另一个值

Long.parseLong(String)方法与Long.ValueOf(String)

Long.parseLong(String)方法与Long.ValueOf(String)

30分求:long值转换为时间类型

解决Java的wait(long mills)方法不能区分其返回是由于超时还是被唤醒的问题