forked from github/codeql
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathG.java
More file actions
27 lines (20 loc) · 710 Bytes
/
G.java
File metadata and controls
27 lines (20 loc) · 710 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class G {
public static void test(String s) {
if (s == null) {
System.out.println("Is null");
}
switch(s) { // OK; null case means this doesn't throw.
case null -> System.out.println("Null");
case "foo" -> System.out.println("Foo");
default -> System.out.println("Something else");
}
var x = switch(s) { // OK; null case (combined with default) means this doesn't throw.
case "foo" -> "foo";
case null, default -> "bar";
};
switch(s) { // BAD; lack of a null case means this may throw.
case "foo" -> System.out.println("Foo");
case String s2 -> System.out.println("Other string of length " + s2.length());
}
}
}