码迷,mamicode.com
首页 > 编程语言 > 详细

Java(C#)基础差异-字符串

时间:2017-03-05 19:05:36      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:相同   格式化   内存   res   bool   main   字符串   ffffff   微软   

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#主要是格式化关键字,形式不同,详情较多,不细介绍。

Java(C#)基础差异-字符串

标签:相同   格式化   内存   res   bool   main   字符串   ffffff   微软   

原文地址:http://www.cnblogs.com/SimplePerson/p/6417424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!