Создание списка при каждом вызове метода (одноэлементный ArrayList) - пустая трата памяти, даже если вы ее не замечаете. Вам также не нужно передавать индекс или значение в вашем выражении, если в вашем запросе нет значений для вставки. Если вы пытаетесь проверить только один uuid, вам не нужно использовать while-l oop. Вы также можете использовать ресурс try-with-resource, чтобы закрыть свои заявления, когда они больше не нужны. Если вы хотите прочитать значения из базы данных SQL, я бы всегда рекомендовал использовать потребитель. Я приложил пример:
public void registeredUniqueId(UUID uniqueId, Consumer<Boolean> registered) {
try (PreparedStatement statement = connection.prepareStatement(String.format("SELECT * FROM players WHERE UUID='%s'", uniqueId.toString())); ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next() && resultSet.getString("UUID") != null) {
registered.accept(true);
}
} catch (SQLException ex) {
ex.printStackTrace();
registered.accept(false);
}
}
Я рекомендую всегда выполнять MySQL запросы асинхронно. В моем примере все выполняется синхронно.