Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalToIf/beforeOrElseThrow.java
Artemiy Sartakov d98814d304 OptionalToIfInspection: added missing imports (IDEA-212269)
GitOrigin-RevId: afbeaa1f10b2266cd1401da83b71cf0bf6862824
2019-08-07 17:02:43 +03:00

24 lines
753 B
Java

// "Fix all 'Optional can be replaced with sequence of if statements' problems in file" "true"
import java.util.*;
class Test {
String orElseThrowDefault(String in) {
return Optional.ofNullable<caret>(in).filter(s -> s.length() > 12).orElseThrow();
}
String orElseLambda(String in) {
return Optional.ofNullable(in).filter(s -> s.length() > 12).orElseThrow(() -> new IllegalArgumentException("value is null"));
}
String orElseThrowWithSideEffect(String in) {
return Optional.ofNullable(in).map(s -> s.substring(3)).filter(s -> s.length() > 12).orElseThrow(() -> sideEffect());
}
private RuntimeException sideEffect() {
System.out.println("side effect!");
return new IllegalArgumentException("value is null")
}
}