zoukankan      html  css  js  c++  java
  • java中的字符串比较

    在比较java中的两个String类型的对象时:

    1.

    1 String s1=new String("123");
    2 String s2=new String("123");
    3 System.out.println(s1==s2);
    4 System.out.println(s1.equals(s2));

    此时s1,s2分别为String对象的引用,如果直接用==进行比较,由于比较的是对象的引用,而尽管都为String对象,但S1,S2表示的是不同的引用,所以结果为false。

    但是使用equals()方法,可以直接比较两个对象的实际内容是否相同,所以结果为true;

    2.

    1 String s3="asd";
    2 String s4="asd";
    3 System.out.println(s3==s4);

    这里定义两个基本类型s1,s2,此时可以直接用==来比较它们的值是否相同(也可用equals(),结果相同),最后结果为true。

    3.

     1 public class Candy{
     2     static{
     3         System.out.println("loading Candy");
     4     }
     5         public static void main(String[] args){
     6         Candy c1=new Candy();
     7         Candy c2=new Candy();
     8         System.out.println(c1.equals(c2));
     9         }
    10 }
    11 
    12                

    此时是自定义类Candy的对象的两个不同引用c1,c2,但由于equals()默认比较引用,所以结果仍为false。因此若想比较两个引用(自己定义的类)所指对象的内容是否相同,需要在自己的类中重写equals()函数产生我们自己期望的结果。

  • 相关阅读:
    python pyinotify模块详解
    lastpass密码管理工具使用教程
    MAMP 环境下安装Redis扩展
    SourceTree使用方法
    Mac securecrt 破解
    Memcache 安装
    Warning: setcookie() expects parameter 3 to be long, string given
    SQLSTATE[HY000] [2002] Connection refused
    插件管理无法访问
    光栅化渲染器
  • 原文地址:https://www.cnblogs.com/grj0011/p/4898916.html
Copyright © 2011-2022 走看看