com.example.mistakes.expression._07_NonShortCircuitOperator.Ex3

🚀 com.example.mistakes.expression._07_NonShortCircuitOperator.Ex3

Question fetched from API endpoint api/expression/7/3

API Response

GET /api/expression/7/3
{
  "result": [
    {
      "message": "com.example.mistakes.expression._07_NonShortCircuitOperator.Ex3",
      "before": "    boolean before(Object obj) {\n      return obj instanceof First\n          && checkFirst((First) obj) | obj instanceof Second\n          && !(obj instanceof Exclude)\n          || obj instanceof Third && checkThird((Third) obj);\n    }\n",
      "after": "    boolean after(Object obj) {\n      return switch (obj) { // Java 21\n      case First first -> checkFirst(first);\n      case Second second -> !(second instanceof Exclude);\n      case Third third -> checkThird(third);\n      case null, default -> false;\n      };\n",
      "chapter": 2,
      "id": "2_07_3",
      "className": "Ex3",
      "path": "file:///home/runner/work/100_java_mistakes/100_java_mistakes/back/src/main/java/com/example/mistakes/expression/_07_NonShortCircuitOperator.java"
    }
  ],
  "length": 1
}

before

before
boolean before(Object obj) {
  return obj instanceof First
      && checkFirst((First) obj) | obj instanceof Second
      && !(obj instanceof Exclude)
      || obj instanceof Third && checkThird((Third) obj);
}

after

after
boolean after(Object obj) {
  return switch (obj) { // Java 21
  case First first -> checkFirst(first);
  case Second second -> !(second instanceof Exclude);
  case Third third -> checkThird(third);
  case null, default -> false;
  };