zoukankan      html  css  js  c++  java
  • C#和Java中“==”和“equals”区别

    C#中“==”和“equals”区别如下:

     1 using System;
     2 class Program
     3 {
     4     public static void Main(string[] args)
     5     {
     6         string s1 = "ab";
     7         string s2 = "a";
     8         s2 += "b";
     9         Console.WriteLine(s1 == s2); //true  比较内容  C#中string重载了操作符"==",而Java中的String并没有重载操作符"=="
    10         Console.WriteLine((object)s1 == (object)s2); //false  比较地址值
    11         Console.WriteLine(s1.Equals(s2)); //true  比较内容
    12     }
    13 }

    Java中“==”和“equals”区别如下:

     1 class Test 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         String s1 = "ab";
     6         String s2 = "a";
     7         s2 += "b";
     8         System.out.println(s1 == s2); //false  比较地址值 注意此处与C#的区别
     9         System.out.println((Object)s1 == (Object)s2); //false 比较地址值
    10         System.out.println(s1.equals(s2)); //true  比较内容,String重写了Object中的equals
    11     }
    12 }

    C#和Java中的操作符“==”是比较两个变量的值是否相等,即栈中的值是否相等,这个栈中的值可能是值类型的值,也可能是引用类型的地址。

    C#和Java中的equals方法则是重写了Object中的equals方法,从而比较的是内容。

    区别:C#中的string重载了操作符"==",使得两个字符串间比较的是内容,而非比较地址值。而Java的两个字符串对象则比较的是地址值,而非内容。

  • 相关阅读:
    MySQL Community Server 8.0.16
    Python的编码规范
    Python 的语言特性
    spark笔记 环境配置
    C#委托实现工厂规则注入
    特性与元数据
    可输入的模糊搜索ComBox控件
    ASPX页面输出datatable的一种方法
    QRcode生成二维码,保存二维码图片到服务器
    SQL语句的随机值与行号,字符串拼接
  • 原文地址:https://www.cnblogs.com/qq641120784/p/9494658.html
Copyright © 2011-2022 走看看