zoukankan      html  css  js  c++  java
  • java中判断两个字符串是否相等的问题

    我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题。在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写。在java中,用的是equals();

    String name = new String("sunzhiyan");
    String age =  new String("sunzhiyan");
    if(name ==age){
    	System.out.print("相等");
    }else{
    	System.out.print("不相等");
    }
    

     这里输出结果是:不相等,因为new出来的话会申请不同的地址,而==号就是比较他们的引用(java没有指针,假设是地址)

    String name = "sunzhiyan";
    String age = "sunzhiyan";
    if(name.equals(age)){
    		System.out.print("相等");
    }else{
    		System.out.print("不相等");
    }
    
    String ss = "duang";
    String ss2 = "duang";
    System.out.println(ss);
    if(ss == ss2){
        System.out.println("YYYYY");
    }

    这里比较值肯定是相等的,相同的字符串在内存中只会 有一份,所以,这里用"==" 是true,不过要明白这里比较的是引用。

     这里会相等,因为java默认字符串是常量,也就是说a和b的地址(java没有指针,假设是地址)一致

    而使用

    注意:

    equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。

  • 相关阅读:
    echarts数据可视化之简单使用范例,
    配置用户/系统环境变量的意义与方法
    关于百度echarts数据可视化js插件基本使用样例
    python 博客引用
    泛型
    Java 关键字
    java基本知识点5
    Java 序列化
    java知识点4
    前端知识点总结1
  • 原文地址:https://www.cnblogs.com/sunxun/p/4262429.html
Copyright © 2011-2022 走看看