如何判断两个Long类型数据分布类型的判断方法有哪些是否相等

最近看java基础,发现数值不一样的long和double类型的数据比较的结果居然会相同,请高手答疑!_百度知道
最近看java基础,发现数值不一样的long和double类型的数据比较的结果居然会相同,请高手答疑!
public class LongToDouble { public static void main(String[] args) {
long long1=3456789L;
double double1=3456788L;
System.out.println(long1==double1); }}结果为:true
我有更好的答案
自动类型提升,也就是说两个基础数据类型进行值对比的时候,类型不一样低的会自动提升到高的数据类型,然后进行对比!你可以做个实验,int 10;byte 10;long 10;double 10;进行比对,你会发现全都是true!
您说的自动提升应该是原因所在,但是您举的例子并不恰当,我需要的是数值不同,结果却相同的例子。我测试后推断,应该是long类型和double类型进行比较的时候,long类型自动提升为double类型丢失了精度,导致相等。谢谢您的回答,让我醍醐灌顶,我还会继续查阅其他资料,学习之路,任重道远。谢谢!
采纳率:81%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java Long型的比较 - ITeye问答
&&& 各位对于下面这种情况,不是很理解,我有一个实体类,实体类中有一个Long型的属性,是这样的:
private Long merchantR//商户自己推荐标志&&
现在有这样的一个方法:
// 检查商品是否推荐
public String checkRecommend() {
TbProduct product=productService.load(id);
System.out.println(product.getMerchantRecommend());
System.out.println(product.getMerchantRecommend() == new Long(1));
if(product.getMerchantRecommend() == new Long(1)){
return ajaxText("true");
return ajaxText("false");
}
在进行判断的时候我自认为这个属性是Long型的,所以我用new Long(1),我输出product.getMerchantRecommend()的值为1,为什么这里用new Long(1)不行,麻烦大侠们指导一下:
问题补充:JMS_Exception 写道System.out.println(product.getMerchantRecommend() == new Long(1));
System.out.println(product.getMerchantRecommend().equals(new Long(1)));
恩 懂了 谢了
采纳的答案
System.out.println(product.getMerchantRecommend() == new Long(1));
System.out.println(product.getMerchantRecommend().equals(new Long(1)));
System.out.println(product.getMerchantRecommend() == new Long(1));
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同&
已解决问题
未解决问题两个Long类型怎么比较大小啊?_百度知道
两个Long类型怎么比较大小啊?
两个Long类型怎么比较大小啊? 能具体举个例子吗?我用equals判断是否相等都不行!!
我有更好的答案
Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式:1. 使用 equals 方法Long a = new Long(3);Long b = new Long(3);System.out.println(a.equals(b));2. 使用 Long 类型中的 longValue() 方法进行比较,如Long a = new Long(3);Long b = new Long(3);System.out.println(a.longValue()==b.longValue())。
电测网络专家
Long型的你可以用.longValue()得到他的值比较比如a是100 ,b是100比较方法if(a.longValue()&b.longValue()){}
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。以码农的名义告诉你:Long类型的数据比较大小,请一定用equals,不要用==
Long是一个类,比较大小时如果数据小于128L时,用equals和== 都是可以的,但超过128L再用==比较大小就会出问题,所以Long比较大小统统都要用equals,简单不会出错,代码执行结果如下:
Long i = 12L;
Long j = 12L;
Long m = 195L;
Long n = 195L;
System.out.println(i=j);//true
System.out.println(m=n);//false
System.out.println(i.equals(j));//true
System.out.println(m.equals(n));//true
没有更多推荐了,Java中long类型与Long类型的区别和大小比较详解
转载 &更新时间:日 12:03:24 & 作者:有梦想的开发工程师
这篇文章主要给大家介绍了Java中long类型与Long类型区别和大小比较的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
最近在学习java,接触到了long类型,发现网上这方面的资料较乱,所以决定总结一下,在Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“&”、“==”、“&”的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解。话不多说了,来一起看看详细的介绍吧。
Java中Long和long的区别
Java的数据类型分为两种:
&&&& 1、基本类型:byte(8),short(16),int(32),long(64),float(32),double(64),char(16),boolean(1)
&&&& 2、对象类型:Byte,Short,Integer,Long,Float,Double,Character,Boolean
其中Long又叫 long的包装类。而Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。
上面的对象类型分别是基本类型的包装类,例如Byte是byte的包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)&
什么叫包装类?
在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
对于包装类说,这些类的用途主要包含两种:
&&& a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
&&& b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
Long数据的大小的比较
对于Long类型的数据,这个数据是一个对象,所以对象不可以直接通过“&”,“==”,“&”的比较,如果要比较两个对象的是否相等的话,我们可以用Long对象的.equals()方法:
Long l1 = new Long(100);
Long l2 = new Long(200);
System.out.println(l1.equals(l2));
如果要进行“&”,“&”的比较的话,可以通过Long对象的.longValue()方法:
Long l1 = new Long(100);
Long l2 = new Long(200);
System.out.println(l1.longValue()&l2.longValue());
long数据的大小的比较
对于long类型的数据,这个数据是一个基本数据类型,不属于对象,所以可以直接通过“&”,“==”,“&”作比较
long l3 = 300;
long l4 = 400;
System.out.println(l3&l4);
System.out.println(l3&l4);
System.out.println(l3==l4);
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 spww中怎样判断数据相等 的文章

 

随机推荐