在null和string.Empty上使用==或.Equals()

青菜

关于在字符串上使用.Equals()==字符串,这是关于检查string.Emptynull对象的问题。

在比较string.Emptynull对象时,应该使用==还是应该使用.Equals()

// Add vars to instance variables
for (int i = 0; i < paramFirstList.Count; i++)
{
    // if the key is null, replace it
    // with a "null" string
    if (paramFirstList[i] == null)
    {
        _firstList.Add("null");
    }
    else if (paramFirstList[i] == string.Empty)
    {
        _firstList.Add("empty");
    }
    else
    {
        // Do something
    }
}

PS我知道这是更好地存储nullstring.Empty作为他们的对象类型,但对于这个特定的目的,它是在我的要求将它们存储为一个字符串表示:)。

PPS为清楚起见增加了匈牙利符号

时光

您应该始终偏爱==而不是Equals后者是基本Object类型的方法,在这种情况下将进行无用的转换。

如果要检查string是否为null或为空,请使用String.IsNullOrEmptymethod。如果相反,如果您需要采取不同的行动,请执行以下操作:

if (value == null)
{
    //do stuff
}
else if (value == string.Empty)
{
    // do other stuff
}

编辑:

正如在评论中指出存在一个重载Equals上的方法string,其接收string参数。不过,我认为您应该养成使用==的习惯。它读起来更好,恕我直言。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java:使用toString()。equals()和equals()

来自分类Dev

.equals()和==在Integer上的Java中(==起作用,但.equals无效!

来自分类Dev

结合使用Elvis运算符和string.Equals

来自分类Dev

使用List对象在POJO上覆盖equals和hashCode

来自分类Dev

使用List对象在POJO上覆盖equals和hashCode

来自分类Dev

在增强的for循环中使用equals()和==

来自分类Dev

使用equals删除List <String>重复项

来自分类Dev

Arrays.equals()和String.equals()始终返回false

来自分类Dev

如何在匿名类型上实现Equals和GetHashCode?

来自分类Dev

Path.equals在Windows和Linux上的行为不同

来自分类Dev

没有覆盖的hashCode()和equals()的对象上的LinkedHashSet

来自分类Dev

在Equals()中检查null

来自分类Dev

equalsIgnoreCase()与toUpperCase()。equals和toLowerCase()。equals的效率

来自分类Dev

Objects.equals和Object.equals

来自分类Dev

使用.equals()返回时,Java跳过null对象

来自分类Dev

Java中的==和.equals()

来自分类Dev

Java中的==和.equals()

来自分类Dev

Xbindkeys和equals键

来自分类Dev

equals方法使用字符串和列表

来自分类Dev

使用std :: equal和equals运算符进行比较

来自分类Dev

在重写对象之后使用Object的hashCode()和equals()实现

来自分类Dev

为什么我不能对 BigInteger 和 int 使用 equals?

来自分类Dev

在String.Equals中使用C#三元

来自分类Dev

== null和.equals(“ null”)之间有什么区别吗?

来自分类Dev

"null" String .equals("null") 返回 false java (JOptionPane)

来自分类Dev

会话Bean上的Equals方法

来自分类Dev

str.equals(“ String”)vs“ String” .equals(str)

来自分类Dev

EqualsVerifier的Equals和hashCode契约

来自分类Dev

Java clone()和equals()检查

Related 相关文章

  1. 1

    Java:使用toString()。equals()和equals()

  2. 2

    .equals()和==在Integer上的Java中(==起作用,但.equals无效!

  3. 3

    结合使用Elvis运算符和string.Equals

  4. 4

    使用List对象在POJO上覆盖equals和hashCode

  5. 5

    使用List对象在POJO上覆盖equals和hashCode

  6. 6

    在增强的for循环中使用equals()和==

  7. 7

    使用equals删除List <String>重复项

  8. 8

    Arrays.equals()和String.equals()始终返回false

  9. 9

    如何在匿名类型上实现Equals和GetHashCode?

  10. 10

    Path.equals在Windows和Linux上的行为不同

  11. 11

    没有覆盖的hashCode()和equals()的对象上的LinkedHashSet

  12. 12

    在Equals()中检查null

  13. 13

    equalsIgnoreCase()与toUpperCase()。equals和toLowerCase()。equals的效率

  14. 14

    Objects.equals和Object.equals

  15. 15

    使用.equals()返回时,Java跳过null对象

  16. 16

    Java中的==和.equals()

  17. 17

    Java中的==和.equals()

  18. 18

    Xbindkeys和equals键

  19. 19

    equals方法使用字符串和列表

  20. 20

    使用std :: equal和equals运算符进行比较

  21. 21

    在重写对象之后使用Object的hashCode()和equals()实现

  22. 22

    为什么我不能对 BigInteger 和 int 使用 equals?

  23. 23

    在String.Equals中使用C#三元

  24. 24

    == null和.equals(“ null”)之间有什么区别吗?

  25. 25

    "null" String .equals("null") 返回 false java (JOptionPane)

  26. 26

    会话Bean上的Equals方法

  27. 27

    str.equals(“ String”)vs“ String” .equals(str)

  28. 28

    EqualsVerifier的Equals和hashCode契约

  29. 29

    Java clone()和equals()检查

热门标签

归档