• bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    7
    ·
    14 hours ago

    Is there ever an instance when you do want to compare object identity instead of “equal”-ness? I find this behaviour just confusing for beginners and not useful for experts.

    • expr@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      8 hours ago

      99.99% of the time you want to compare by value, which is why languages defaulting to comparing by reference is a stupid default.

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      13 hours ago

      There are use cases. Like containers where the pointer to the object itself is the key (for example a set). But they are niche and should be implemented by the standard library anyway. One of the things I hate most about Java is .equals() on strings. 99.999% of times you compare strings, you want to compare the contents, yet there is a reserved operator to do the wrong comparison.

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        12 hours ago

        Java has the hash interface for using in containers. You don’t need to override equality for it.