1
2
3
4
5
6 package com.puppycrawl.tools.checkstyle.checks.coding.unnecessarynullcheckwithinstanceof;
7
8 public class InputUnnecessaryNullCheckWithInstanceOfTernary {
9 public String basicTernary(Object obj) {
10
11 return obj != null && obj instanceof String ? ((String) obj) : "";
12 }
13 public String validTernary(Object obj) {
14 return obj instanceof String ? ((String) obj) : "";
15 }
16 public String ternaryWithVariable(Object obj) {
17
18 boolean check = obj != null && obj instanceof String;
19 return check ? ((String) obj) : "";
20 }
21 public String simpleTernaryWithExtra(Object obj, boolean flag) {
22
23 return flag && obj != null && obj instanceof String ? ((String) obj) : "";
24 }
25 public int evaluateObjects(Object a, Object b) {
26 return a != null && a instanceof Integer
27 ? (b != null && b instanceof Double ? 100 : -100) : 0;
28
29 }
30
31 public Object chainedTernary(Object obj) {
32
33 return obj != null && obj instanceof Integer ? (Integer) obj * 2
34 : obj != null && obj instanceof Double ? (Double) obj / 2
35 : "Unknown";
36
37 }
38
39 public boolean complexLogical(Object a, Object b, boolean flag) {
40
41
42
43 return flag && a != null && a instanceof String && (b != null && b instanceof Number);
44 }
45
46 public int lambdaStyleCheck() {
47 java.util.function.Function<Object, Integer> func = (obj) ->
48
49 obj != null && obj instanceof String ? ((String) obj).length() : -1;
50 return func.apply("Hello");
51 }
52 }