由于Integer和Long分别对应int和long类型,所以在内存占用上也有所不同。Integer占用的内存空间比Long小,因为int占用4个字节,而long占用8个字节。 3. 使用场景 通常情况下,如果需要保存整数值,并且确定这个值不会超出Integer的取值范围,那么可以使用Integer。如果需要保存较大的整数值,或者不确定整数值的大小范围,可以使...
publicclassPaymentComparison{publicstaticvoidmain(String[]args){// 从数据库中获取订单总金额LongorderTotal=1500L;// 订单总金额// 从前端获取用户支付金额IntegeruserPayAmount=1500;// 用户支付金额// 调用比较方法booleancanProceed=comparePayment(orderTotal,userPayAmount);if(canProceed){System.out.println("...
long是Java中的基本数据类型,表示64位的长整型数据,取值范围为-2^63到2^63-1。 Integer是Java中的包装类,用于封装基本数据类型int的值,int是32位整型数据,取值范围为-2^31到2^31-1。Integer对象除了可以存储整数值外,还可以为null。 2. 明确Java中不同类型数值比较的规则 在Java中,不能直接比较基本数据类型...
Integer c=Integer.valueOf(128);Long d=Long.valueOf(128);//System.out.println(c == d);//Error:(49, 30) java: incomparable types: java.lang.Integer and java.lang.Longout.println(d.equals(c));out.println(d.compareTo(c));// Error:(53, 33) java: incompatible types: java.lang.Int...
Long 类型指的是 java.util.Lang 对象,而不是基本类型 long (注意大小写) Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象 如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式: ...
其实确实有一种情况使用==、!=这样来比较也对。 例如我写了一个测试类测试Integer和Long类型对象的比较: public class Test { public static void main(String[] args) { Integer a = new Integer(10); Integer b = new Integer(10); System.out.println("a==b:" + (a==b));//很明显false ...
关于JavaInteger和Long直接比较 关于JavaInteger和Long直接⽐较Integer和Long不能直接equals⽐较会返回False Long.class源码 `public boolean equals(Object obj) { if (obj instanceof Long) { return this.value == (Long)obj;} else { return false;} } `Integer.class源码 `public boolean equals(Object ...
Integer是int的封装类型是 32 位的整数,long 是 64 位的整数,表示范围:-2^63 ~ 2^63 -1 long是长整型
这里有个cache 如果范围是在-128~127之间,是直接从java.lang.Integer类中,直接取cache的地址,这里我们看待Integer i=100时,实际上是执行的Integer i=Integer.valueOf(100);那么可想而知的结果就是指向的是cache数组中值为100的地址,那么直接进行==操作符的比较,是相等的。
Java提供了Integer和Long这两个包装类,可以用于包装int和long类型的整数。 通过使用包装类,可以使用它们提供的方法来进行比较。 示例代码如下所示: Integera=10;Longb=20L;if(a.equals(b)){System.out.println("a equals to b");}elseif(a.compareTo(b)<0){System.out.println("a is less than b");...