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()函数产生我们自己期望的结果。

  • 相关阅读:
    二分法查找数据
    循环队列的操作
    堆栈的操作
    链表的各种操作
    尾插法创建链表
    头插法创建链表
    链表简介
    <map>的常用操作
    linux下php添加自带扩展
    快速排序
  • 原文地址:https://www.cnblogs.com/grj0011/p/4898916.html
Copyright © 2011-2022 走看看