Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #35714

Re: Comparison structure?

Newsgroups comp.lang.java.programmer
Date 2016-10-04 10:29 -0700
References <59c17fe5-61a6-46dc-918f-ee5aa348e3fd@googlegroups.com> <vin7vbtorg7k171plq29ve3fo4fut237d5@4ax.com>
Message-ID <cfb773de-671a-46e7-9d79-e821780c7bcb@googlegroups.com> (permalink)
Subject Re: Comparison structure?
From Eric Douglas <e.d.programmer@gmail.com>

Show all headers | View raw


On Tuesday, October 4, 2016 at 12:53:51 PM UTC-4, Roedy Green wrote:
> >Is there a better structure?
>  the only alternative I can think of is to use a compare method that
> returns +1 -1 0.
> Then you could use a switch.

In that case you'd have to override the compareTo?
I read the doc on that method and it says returns a zero, or a value less than or greater than zero.  If it's not guaranteed to return specific values for less than or greater than, what would be the switch case?
This seems at least one reason people in the following thread suggest sticking with the 3-way if.
http://stackoverflow.com/questions/18510360/how-to-use-greater-than-or-equal-in-a-switch-statement

Otherwise that code would be equivalent to
          Integer compareMe = 1;
          int compareTo = 2;
          final int assignMe;
          switch (compareMe.compareTo(compareTo)) {
          case 0:
               assignMe = 4;
               break;
          case 1:
               assignMe = compareMe + 2;
               break;
          case -1:
               assignMe = compareMe;
               break;
          }

Of course Integer is final so you couldn't even just subclass it to override compareTo.  Without having 3 certain return values, this method ends up uglier.

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Comparison structure? Eric Douglas <e.d.programmer@gmail.com> - 2016-10-04 07:25 -0700
  Re: Comparison structure? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-10-04 10:46 -0400
  Re: Comparison structure? Roedy Green <inquiry@mindprod.com> - 2016-10-04 09:53 -0700
    Re: Comparison structure? Eric Douglas <e.d.programmer@gmail.com> - 2016-10-04 10:29 -0700
      Re: Comparison structure? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-10-04 15:35 -0400
        Re: Comparison structure? Arne Vajhøj <arne@vajhoej.dk> - 2016-10-04 20:16 -0400
          Re: Comparison structure? Arne Vajhøj <arne@vajhoej.dk> - 2016-10-04 22:29 -0400
            Re: Comparison structure? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-10-05 08:08 -0400
              Re: Comparison structure? Arne Vajhøj <arne@vajhoej.dk> - 2016-10-05 20:27 -0400
  Re: Comparison structure? Martin Gregorie <martin@address-in-sig.invalid> - 2016-10-04 17:37 +0000
    Re: Comparison structure? Eric Douglas <e.d.programmer@gmail.com> - 2016-10-04 12:02 -0700
    Re: Comparison structure? j4n bur53 <janburse@fastmail.fm> - 2016-10-05 17:12 +0200
      Re: Comparison structure? j4n bur53 <janburse@fastmail.fm> - 2016-10-05 17:14 +0200
  Re: Comparison structure? Arne Vajhøj <arne@vajhoej.dk> - 2016-10-04 20:03 -0400
  Re: Comparison structure? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-10-05 22:41 +0200

csiph-web