@dolen228

При попытки получить значение из Map возвращает null. Как исправить?

Здравствуйте, я беру значения из MySQL и сохраняю в Map, но возвращает null при попытки получить значение.

Вот код:

private static Map<Player, Map<String, Integer>> cache = new HashMap<>();

    public static void cache(Player player) {
        Bukkit.getScheduler().runTaskAsynchronously(Jumper.getPlugin(Jumper.class), () -> {
            Connection connection = Jumper.connection;
            PreparedStatement statement;
            try {
                statement = connection.prepareStatement("SELECT * FROM players WHERE nickname = ?");
                statement.setString(1, player.getName());
                ResultSet rs = statement.executeQuery();
                Map<String, Integer> map = new HashMap<>();
                while (rs.next()) {
                    if(cache.get(player) != null) {
                        map.replace("level", rs.getInt("level"));
                        map.replace("xp", rs.getInt("xp"));
                        map.replace("balance", rs.getInt("balance"));
                        map.replace("rebirths", rs.getInt("rebirths"));
                        map.replace("bLevel", rs.getInt("bLevel"));
                    } else {
                        map.put("level", rs.getInt("level"));
                        map.put("xp", rs.getInt("xp"));
                        map.put("balance", rs.getInt("balance"));
                        map.put("rebirths", rs.getInt("rebirths"));
                        map.put("bLevel", rs.getInt("bLevel"));
                    }
                }
                cache.put(player, map);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        });
    }

    public static Integer getLevel(Player player) throws SQLException {
        return cache.get(player).get("level");
    }


Как это можно исправить?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@dolen228 Автор вопроса
Решено. Я просто сделал задержки на получение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы