zoukankan      html  css  js  c++  java
  • Java(C#)基础差异-字符串

    1、字符串比较

    Java

    对字符串对象进行比较不能简单的使用比较运算符"==",因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍

    然会返回false。需要使用equals或者equalsIgnoreCase。

    举例如下:

    public static void main(String[] args) {
        /*
         * 对字符串对象进行比较不能简单的使用比较运算符"==",因为
         * 比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回false。
         * 需要使用equals或者equalsIgnoreCase
         */
        String s1 = new String("abc");
        String s2 = new String("ABC");
        boolean b = s1.equals(s2);
        boolean b2 = s1.equalsIgnoreCase(s2);
        System.out.println("equal结果:" + b);
        System.out.println("equalsIgnoreCase结果:" + b2);
    }

    运行结果如下:

    C#

    在C#中,对于引用类型来说,等号(==)比较的是两个变量的”引用” 是否一样,即是引用的”地址”是否相同。而对于equals来说仍然比较的是变量的  ”内容” 是否一样,由于string是微软封装的一个字符串类,在内部他已经对 = = 操作符进行了重写。重写后他比较的则是两个变量的内容是否相同。

    举例如下:

    public static void TestMethod()
    {
        string s1 = "abc";
        string s2 = "ABC";
        bool result = s1 == s2;
        Console.WriteLine(result);
    }

    2、字符串格式化

    Java与C#主要是格式化关键字,形式不同,详情较多,不细介绍。

  • 相关阅读:
    让windows cmd也用上linux命令
    数据库工具toad与plsql
    Oracle表&DATA复制
    主流WEB开发语言简单对比
    游戏中的碰撞检测
    LRU算法总结及其C算法实现
    MTU
    多款as3游戏框架
    请问2.3e+71,是不是表示23后面有70个0?
    希望OFFICE有一个小阳台,在阳光斜照的下午,开发人员能喝着茶,在蓝色的天空下讨论问题,这样思绪更为清楚
  • 原文地址:https://www.cnblogs.com/SimplePerson/p/6417424.html
Copyright © 2011-2022 走看看