New candidate JEP: 456: Unnamed Variables and Patterns

Remi Forax forax at univ-mlv.fr
Tue Sep 26 12:35:47 UTC 2023


----- Original Message -----
> From: "Tagir Valeev" <amaembo at gmail.com>
> To: "amber-dev" <amber-dev at openjdk.org>
> Cc: "Angelos Bimpoudis" <angelos.bimpoudis at oracle.com>, "amber-spec-experts" <amber-spec-experts at openjdk.org>
> Sent: Tuesday, September 26, 2023 2:32:06 PM
> Subject: Re: New candidate JEP: 456: Unnamed Variables and Patterns

> Hello! As we are finalizing this feature, can we squeeze in a little
> improvement? Namely, support enum and patterns within the same case
> label, provided that the patterns do not declare any variables. Like:
> 
> enum X {A, B}
> 
> static void test(Object obj) {
>  switch (obj) {
>    case String _, X.B -> System.out.println("B or String");
>    default -> System.out.println("other");
>  }
> }
> 
> public static void main(String[] args) {
>  Test.test("ddd");
>  Test.test(X.B);
> }
> 
> Currently, such a code is not supported. Or will it be considered in
> future JEPs?

This is a nice improvement.

> 
> With best regards,
> Tagir Valeev.

regards,
Rémi

> 
> On Mon, Sep 25, 2023 at 6:25 PM Mark Reinhold <mark.reinhold at oracle.com> wrote:
>>
>> https://openjdk.org/jeps/456
>>
>>   Summary: Enhance the Java language with unnamed variables, which
>>   can be initialized but not used, and unnamed patterns, which match a
>>   record component without stating the component's name or type. Both are
>>   denoted by an underscore character, _.
>>
> > - Mark


More information about the amber-dev mailing list