Strings in switch
Ulf Zibis
Ulf.Zibis at gmx.de
Mon Mar 30 12:46:32 PDT 2009
Am 30.03.2009 21:01, Joseph D. Darcy schrieb:
> Ulf Zibis wrote:
>> Hi Joe,
>>
>> I refer to your proposal:
>> http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000001.html
>>
>>
>> If your proposal would unchanged be taken into JDK 7, there won't be
>> any compatible way to implement my more general proposal "Extend
>> switch .. case statement for Object types and simple expressions" in
>> future version of JDK !!!
>> --> So switch .. case statement should compare for IDENTITY if not
>> syntactically determined otherwise.
>> --> compare for EQUALITY would also break semantic of existing switch
>> .. case statement.
>
> While pattern matching is a fine feature in some languages, I don't
> think retrofitting that flavor of facility onto Java much over and
> above the existing capabilities of the switch statement is the right
> direction to evolve Java.
>
> -Joe
>
>
Joe, thanks for your fast answer.
Another reason, why I'm against comparing for equality by default
syntax, is, that it is good practice to use String constants instead of
widely spreaded String literals with same signature for numerous reasons
(performance, error prone, ...). Your syntax would lead programmers to
stay on widely spreaded String literals.
If constant is not available for switch variable (e.g. if read from
stream), variable could be internalized before, so it's instance becomes
identical to the existing constant.
===>> If just "Strings in switch" is taken over for JDK 7, there is NO
NEED, to compare for equality.
There are 40 votes on Bug ID: 5012262
<http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5012262>
Please note, that these votes are for "Strings AND Objects in switch",
and not for just "Strings in switch".
-Ulf
More information about the coin-dev
mailing list