Техсобес
- На вход приходит стрим со значениями, реализовать метод отдающий булиан валидности:
class PinTask { public static void main(String[] args) { Stream.of("1234", "a123", "123456", "1234567").map(PinTask::isPin).forEach(System.out::println); } public static boolean isPin(String s) { } } -
В каком порядке мы увидим инициализации в логах при создании "В":
class A { static { System.out.println("Static block A"); } public A() { System.out.println("Constructor A"); } } class B extends A { static { System.out.println("Static block B"); } public B() { System.out.println("Constructor B"); } } -
Ревью:
class Parser { static private File file; static public void setFile(File file) { Parser.file = file; } public static String parse() throws Exception { Connection connection = DriverManager.getConnection("jdbc:pg:@prodcution.internal/proddb", "prod", "prod"); connection.setAutoCommit(true); BufferedReader reader = new BufferedReader(new FileReader(file)); String parsedText = ""; String line; while ((line = reader.readLine()) != null) { for (int i = 0; i < line.length(); i++) { int charCode = line.codePointAt(i); // charCode >= A && charCode <= z || charCode == ' ' if ((charCode > 0x41 && charCode < 0x7A) || charCode == 0x20) { parsedText = parsedText + line.charAt(i); } } } Arrays.stream(parsedText.split("\s")) .parallel() .forEach(word -> { try { ResultSet resultSet = connection.prepareCall("select blocked_word from blocked_words").executeQuery(); Boolean blockedWordFound = false; while (resultSet.next()) { if (Objects.equals(resultSet.getString(1), word)) { blockedWordFound = true; } } if (!blockedWordFound) { connection.prepareStatement("insert into data values ('" + word + "')").execute(); } } catch (SQLException ex) { } }); return "SUCCESS"; } }