Même si le JDK 11 n'arrivera pas avant un mois, le travail de développement du futur JDK 12, dont la sortie est prévue en mars 2019, se poursuit. La capacité d'expressions switch qui permet, entre autres choses, de simplifier le codage, fait partie des nouveautés à venir. Livrée à l'état de bêta dans le JDK 12, la capacité d’expressions switch étend la valeur de l’instruction switch de façon à ce qu’elle puisse être utilisée soit comme instruction soit comme expression. Les deux états pourront ainsi utiliser un mode de scoping « classique » ou « simplifié » et le comportement de flux de contrôle. Ces modifications pourraient faciliter le codage « courant » et annoncer l’arrivée prochaine d’une fonction de comparaison de motifs.
Au fur et à mesure que les développeurs Java adoptent le filtrage par motifs, des irrégularités apparaissent dans l’actuelle instruction switch jusqu’à devenir des obstacles. C’est le cas par exemple du comportement de flux de contrôle par défaut des blocs switch, ou encore du scoping par défaut des blocs switch, où le bloc est traité comme un seul champ d'application et où le switch fonctionne uniquement en tant qu’instruction. Le design actuel de l’instruction switch de Java est assez proche des langages C++ et il supporte, par défaut, la sémantique « fall-through ». Ce flux de contrôle s’était avéré utile pour écrire du code de bas niveau. Mais comme le switch est utilisé dans des contextes de niveau supérieur, sa tendance à provoquer des erreurs commence à l'emporter sur la flexibilité.