知识大全 对 String 的几个错误认识[2]

Posted 操作

篇首语:书到用时方恨少,事非经过不知难。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 对 String 的几个错误认识[2]相关的知识,希望对你有一定的参考价值。

对 String 的几个错误认识[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  从这段源码中我们看到 net 在字符串等号操作符中调用了 System String::Equals 这个静态方法来比较 这个静态方法的代码如下

     // Determines whether o Strings match

        public static bool Equals(String a String b)

            if ((Object)a==(Object)b)

                return true;

           

 

            if ((Object)a==null || (Object)b==null)

                return false;

           

 

            return EqualsHelper(a b);

       

  从这个代码我们可以看出两个string 类型在进行==操作符比较时先比较引用是否相等 如果不等会调用EqualsHelper比较值是否相等 这也就是我们看到用==操作符比较两个引用不同但值相同的string时得到true的原因  

  一点建议

  从时间角度考虑性能 如果字符串是驻留的 那么用==操作符比较起来 在被比较的两个字符串相等的情况下将会非常快 但从空间效率考虑

  如果对所有字符串都驻留 势必导致大量内存无法被释放 折中一下 可以在构造字符串后进行如下操作 这样构造出来的字符串如果

  已经驻留 则使用驻留后的字符串引用 否则使用原来引用 这样除了可以提高比较的效率还可以减少内存的开销 因为该字符串之前已经被驻留过了

  我们没有必要再重新申请其它的内存来存储相同的字符串 当然调用TryIntern本身会有一些性能损失 所以还要视具体情况使用 如果该字符串构造出来后

  被频繁用于比较 则在第一次构造时使用TryIntern损失一些性能是值得的 否则就不值得 建议直接使用构造出来的字符串

string s = MyTest ;string s = new StringBuilder() Append( My ) Append( Test ) ToString();

s = TryIntern(s );

public static string TryIntern(string str)internStr = string IsInterned(str);

return internStr == null? str: internStr;

cha138/Article/program/net/201311/15386

相关参考

对放心蔬菜的几个认识误区

能不能吃上放心菜,是百姓居家过日子每天都关心的一个问题。可是对什么蔬菜可以放心食用,消费者往往存在一些误区。误区一:地下根茎类蔬菜最放心一般来说,人们对从地里挖取出来的蔬菜比较放心,因为给蔬菜打药一般

有关心脏病认识的几个误区

来自医院第一线的信息表明,无论在发病率或死亡率方面,心脏病都已跃居于各类疾病之首位,成为名副其实的人类“头号杀手”,而人们对心脏病认识的若干误区又在相当程度上妨碍了对这种严重疾患的防治。误区一:瘦人不

浅谈痤疮认识的几个常见误区

浅谈痤疮认识的几个常见误区!痤疮是我们每个人都很熟悉的皮肤色斑问题。许多因为种种的脸部痤疮形象问题,而羞于出门,整日的泡在家里。更有一些人因为久治不愈的痤疮,严重的影响到生活工作。在此,请专家为您讲解

知识大全 Java编程语言的几个认识误区

Java编程语言的几个认识误区  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138

春耕中农机维护保养常见的几个错误

农机在春耕生产中发挥着重要作用,如何保养农机具,减少维护保养错误,延长农机具的使用寿命是农机户常关注的问题,下面就农机维护保养中常见的几个错误加以介绍,以引起大家的注意,介绍不必要的损失。1、油底壳机

春耕中农机维护保养常见的几个错误

农机在春耕生产中发挥着重要作用,如何保养农机具,减少维护保养错误,延长农机具的使用寿命是农机户常关注的问题,下面就农机维护保养中常见的几个错误加以介绍,以引起大家的注意,介绍不必要的损失。1、油底壳机

内蒙古扎鲁特旗春耕中农机维护保养常见的几个错误

春耕中农机维护保养常见的几个错误农机在春耕生产中发挥着重要作用,如何保养农机具,减少维护保养错误,延长农机具的使用寿命是农机户常关注的问题,下面就农机维护保养中常见的几个错误加以介绍,以引起大家的注意

内蒙古扎鲁特旗春耕中农机维护保养常见的几个错误

春耕中农机维护保养常见的几个错误农机在春耕生产中发挥着重要作用,如何保养农机具,减少维护保养错误,延长农机具的使用寿命是农机户常关注的问题,下面就农机维护保养中常见的几个错误加以介绍,以引起大家的注意

知识大全 正确使用String类应注意的几点

正确使用String类应注意的几点!  以下文字资料是由(历史新知网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  javalangSt

知识大全 JAVA对象转为Java String的几种常用方法

JAVA对象转为JavaString的几种常用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!