JAVA中支持Long型 + Long型 = Long型吗? JAVA中支持Long型 + Long型 = Long型 ,这样的Long的Object直接想加来进行加减法运算吗?注意这里不是小long型,是大Long型。如果可以是什么原因?如果不可以又是什么原因?望各位大虾不吝赐教。Long型运算 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Long 是long的包装类。在两个Long类型相加的时候,JVM实现拆箱操作,转换成long 类型进行相加,之后装箱操作,将结果转换成Long类型。这些是自动完成的。所以Long类型可以相加减, Integer,Double都是一样的道理。 首先请了解一下自动装箱拆箱,如果楼主对instaceof比较了解,看下面的代码就明白了:public class LongDemo { public static void main(String[] args) { Long a = 10L; Long b = 12L; Long c = a + b; /* 下面这句编译会报错(Incompatible conditional operand types long and Long), 也就是说编译器认为(a + b)不是Long类型的,而是long类型的。 因为自动拆箱了。 */ System.out.println((a + b) instanceof Long); //下面这句就可以,因为上面用Long去接收a + b的值了,就又装箱了。 System.out.println(c instanceof Long); }} 有了自动装箱拆箱,所以经常在项目中看到Integer和int混在一起操作 求高手写一个能自动猜数字的代码 java7要发布了,大家来说说性特性吧 有关于抽象类的一个问题! 当DataInputStream 的readline方法不可用,怎样一行行读取数据? 求救!哪位高人帮我解答一下,关于JSP+SQL SERVER 2000的编程问题 【急,求救】ORACLE JDBC事务问题 JDK 1.5的问题 关于ImageIO类的问题 配 datasource 的问题,特急,救命,只剩71分全给 jar 打包的中文问题 我的Eclipse变成这样了求 浅析对面向过程软件工程和面向对象软件工程的理解
所以Long类型可以相加减, Integer,Double都是一样的道理。
public class LongDemo {
public static void main(String[] args) {
Long a = 10L;
Long b = 12L;
Long c = a + b;
/*
下面这句编译会报错(Incompatible conditional operand types long and Long),
也就是说编译器认为(a + b)不是Long类型的,而是long类型的。
因为自动拆箱了。
*/
System.out.println((a + b) instanceof Long);
//下面这句就可以,因为上面用Long去接收a + b的值了,就又装箱了。
System.out.println(c instanceof Long);
}
}