File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed
Sources/SwiftJavaDocumentation/Documentation.docc Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -209,10 +209,10 @@ Vehicle vehicle = ...;
209
209
switch (vehicle. getDiscriminator()) {
210
210
case BICYCLE :
211
211
System . out. println(" I am a bicycle!" );
212
- break
212
+ break ;
213
213
case CAR :
214
214
System . out. println(" I am a car!" );
215
- break
215
+ break ;
216
216
}
217
217
```
218
218
If you also want access to the associated values, you have various options
@@ -223,12 +223,24 @@ Vehicle vehicle = ...;
223
223
switch (vehicle. getCase()) {
224
224
case Vehicle . Bicycle b:
225
225
System . out. println(" Bicycle maker: " + b. maker());
226
- break
226
+ break ;
227
227
case Vehicle . Car c:
228
228
System . out. println(" Car: " + c. arg0());
229
- break
229
+ break ;
230
230
}
231
231
```
232
+ or even, destructuring the records in the switch statement's pattern match directly:
233
+ ``` java
234
+ Vehicle vehicle = ... ;
235
+ switch (vehicle. getCase()) {
236
+ case Vehicle . Car(var name, var unused):
237
+ System . out. println(" Car: " + name);
238
+ break ;
239
+ default :
240
+ break ;
241
+ }
242
+ ```
243
+
232
244
For Java 16+ you can use [ pattern matching for instanceof] ( https://openjdk.org/jeps/394 )
233
245
``` java
234
246
Vehicle vehicle = ... ;
You can’t perform that action at this time.
0 commit comments