equals是用来比较字符串是否相等的,==不能用做字符串的比较.如果要比较大小应该用compareto(String),它是依次比较字符串的每个字符的大小

解决方案 »

  1.   

    lsj_smile(我笑) 
       我想知道equals是否既比对象又比值比如:
        String s1="hello";
        String s2="hello";
        String s3=new String("hello");
        s1.eauals("hello");
        s1.equals(s2);//?
      

  2.   

    equals比较值是否相同
    ==比较是否为同一reference
      

  3.   

    ==:比较两个字符串是否为同一个字符串对象
    equals:比较两字符串的内容是否相同。
      

  4.   

    对象的比较必须用equals
    == 只是比较两个数据的地址,也就是这两个是不是同一个东西 ...
    你一个String 和另一个String == ,绝对不会相等.因为它们是两个...
      

  5.   

    equals 是值比较,== 是reference 如果不计较的说可以认为是片面正确,
    因为例如 int, boolean 等基本类型的值比较就要用 == 还有有没有人想过如果不是String 类型的对象那equals比较的是什么呢??例如: List 、Iterator 、Hashtable ......
      

  6.   

    用equals即比较对象又比较值,事实上,如果两个对象无法进行equals比较,编译根本无法通过.有的情况,比如Double和Float型,比较结果始终是false
    ==比较是否为同一引用(类型),因此s1==""恒为true
      

  7.   

    请判断是否正确:    
        String s1="hello";
        String s2="hello";
        String s3=new String("hello");
        s1.eauals("hello");//true?
        s1.equals(s2);//true?
        s1==s2//false?
        s3=="hello"//false?
       还想问一下基本数据类型怎么判断是否相等,==是否可以在基数类中使用:如
       int i=1; if (i==1){}
       如果不能,是否将i包装成INTEGER类再使用equals
      

  8.   

    当s1,s2为String型,s1==s2这样写是错误的.判断他们是否相等必须用equals
    ==用于判断int型,char型等.int i=1; if (i==1){}这样使用是正确的.
      

  9.   

    1,简单数据类型不可单纯的来做为一个对象,比较值大小时必须用“==”;
    2,当用包裹类时,例如 Integer i = new Integer(1);
                         Integer j = new Integer(1);
       i==j是比较的两个对象是否是同一引用,也就是说是否是指的同一对象,显然结果false;
       如果用equals比较是比较两者的值是否相同,结果为true;
    3,对象的比较除去StringBuffer类,结果都同于第二点(String 也与第二点相同);
    4,StringBuffer类两种调用方法都返回false;
    5,说一点,楼上的说法是不对的;
      

  10.   

    楼上,int型和Integer是不一样的.如果你声明变量为int型,是无法使用equals的.我有何错?