New candidate JEP: 456: Unnamed Variables and Patterns

Tagir Valeev amaembo at gmail.com
Tue Sep 26 12:32:06 UTC 2023


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?

With best regards,
Tagir Valeev.

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