当前位置:  技术问答>java相关

比较问题一道,关于 ==

    来源: 互联网  发布时间:2015-04-20

    本文导语:  public class Foo{ public static void main(String [] args){        Float s=new Float(0.9F);        Float t=new Float(0.9F);        Double u=new Double(0.9);        System.out.println( s==t );        System.out.println(s.equals(t));  ...

public class Foo{

public static void main(String [] args){

       Float s=new Float(0.9F);
       Float t=new Float(0.9F);
       Double u=new Double(0.9);
       System.out.println( s==t );
       System.out.println(s.equals(t));
       System.out.println( s==u); // canot compile
       System.out.println( t.equals(u));
      }
   
    }

d:Program FilesXinox SoftwareJCreator ProMyProjectsFoo.java:12: incomparable types: java.lang.Float and java.lang.Double

我本来以为 ==两边可以随便放东西的。但是现在看来并非如此。为什么放两个对象会报错呢?
  


|
public class Foo{
            
    public static void main(String [] args){
        
       Float s=new Float(0.9F);
       Float t=new Float(0.9F);
       Double u=new Double(0.9);
       Float d = s;
   System.out.println( s==t    );//比较的是两个字符串是不是指向同一个存储空间。
   System.out.println( s==d );//true.
       System.out.println(s.equals(d));//比较的是同一类型的两个字符串的内容。
      //System.out.println( s==u); // canot compile
       System.out.println( t.equals(u));//object isn't same.
      }
   
    }

看看是不是对你有所帮助。

|
==比较的的确是两个句柄是否相同,但也要两个句柄是同类型的才可以比

|
同意楼上的!
你println一个对象就可以看到,对象句柄的内容是对象类型加上一个数字,如果是不同类型,它们的句柄不可能相等,所以java会先判断==两边是否是同类型对象!

|
和cast的规则一样,不能强制转换的,就不能用==

|
Float s 和 Double u是两个不同类的对象,所以是不能用==比较的。

|
句柄也是有类型的,否则岂不是大乱?

|
==对两个指针进行比较,如果指向相同的对向返回true,否则返回false,能比较当然前提是类型一样,只有类型一样才能比较

    
 
 

您可能感兴趣的文章:

  • 问一个比较简单的问题 frame 的 setSize()放在那里比较合适
  • 问一个比较简单的问题 请不要见笑 frame 的 setVisible()放在那里比较合适?
  • 关于驱动模块和中文的问题,问题比较傻,还望大家赐教
  • 关于String 比较的一个问题
  • 一个shell的比较大小问题
  • unix一个比较奇怪的问题
  • 一个关于日期比较的问题
  • char 类型如何与16进制类型比较的问题,紧急
  • 问个比较菜的问题: LINUX如何查询C函数的使用方法?
  • javascript问题。检查两个表单值时候不能比较
  • 请教两个比较初级的问题
  • 比较急,向请各位求助了,关于实现微妙或者纳秒级别延迟的问题@@@@
  • 关于日期比较的问题
  • 求教一个比较初级的java编译问题
  • 散分请教一个比较少见的问题
  • 一个比较困难的问题,请大家帮忙!
  • 问一个比较特殊的问题
  • 问一个比较无聊的问题
  • 问一个关于网关软件的问题,比较急
  • 问一个比较土的问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Maps 成员 key_comp():返回比较元素key的函数
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • C++ Maps 成员 value_comp():返回比较元素value的函数
  • 问一下,现在比较新比较好的MYSQL版本和JDBC版本
  • C++ MultiMaps 成员 key_comp():返回比较key的函数
  • SOCKET 比较是在比较什么 急
  • C++ MultiMaps 成员 value_comp():返回比较元素value的函数
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • C++ Double Ended Queues(双向队列) 成员 Operators:比较和赋值双向队列
  • 用java读一个比较大的文本文件(几百k~几M)怎么才能比较快?
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • "400分给有比较好的字符串比较的算法的朋友"要结帖,想做笔迹保留的不可漏看哦
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • arm-linux-gcc 在哪下载比较好,历史版本比较齐?
  • C++ Strings(字符串) 成员 compare():比较两个字符串
  • 在JSP中用session比较好?还是cookie比较好?因为什么?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 请大家帮忙推荐几款linux下比较好用的看jpeg图和看mpeg4比较好用的软件!
  • C++ Bitsets 成员 Operators:比较和赋值bitsets
  • 请各位说说,在linux下,c的什么编译器比较好用比较经典一些?推荐一下
  • STL vector+sort排序和multiset/multimap排序比较
  • 请问在windows下比较好用的unix远程登陆软件哪些比较好?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3