Я создал метод для выполнения массива значений в Java. Всякий раз, когда я пытаюсь запустить его, я получаю исключение ArrayOutOfBoundsException. Моя консоль указывает на ошибку , являющуюся оператором if.ArrayOutOfBoundsException в методе PreparedStatement
for (int i = 1; i <= array.length; i++) {
if (array[i] instanceof String) {
ps.setString(i, (String) array[i]);
} else if (array[i] instanceof Integer) {
ps.setInt(i, (int) array[i]);
}
}
У меня нет проблем с подключением или подготовкой. У меня только проблемы с этим методом, потому что массив (Object []) работает неправильно. Я использую этот метод для вставки и удаления разных данных из таблицы «user». Здесь я беру 4 параметра, первый из которых является идентификатором (который автоматически генерируется и помещается в качестве первичного ключа. Второй параметр - это имя для моего пользователя, третий - пользовательский UUID, а последний - это ранг (вид доступа) для пользователя. что первый один (ID) не считается после того, как он auto_generated на каждой вставки Так давайте не будем рассчитывать, что с нами Вот пример того, как я использую метод:..
executeQuery("INSERT INTO `user` (`name`, `uuid`, `rank`) VALUES (?, ?, ?)", new Object[]{"'username'", "'myUUID'", 64});
Так после того, как у меня есть выполняется этот метод, я в конечном итоге с ошибкой говорить мне это:.
java.lang.ArrayIndexOutOfBoundsException: 3
at com.java.tarjeihs.plugin.mysql.MySQLAccessor.executeQuery(MySQLAccessor.java:107) ~[?:?]
at com.java.tarjeihs.plugin.user.UserHandler.test(UserHandler.java:24) ~[?:?]
Если вы, ребята, были проблемы понять мое объяснение, пожалуйста, спросите меня для лучшего объяснения
возможного дубликат [Что вызывает java.lang.ArrayIndexOutOfBoundsException и как это предотвратить?] (http://stackoverflow.com/questions/5554734/what-causes-a-java-lang-arrayindexoutofboundsexception-and-how-do-i-prevent-it) – BackSlash
** int i = 1; i <= array.length **: array [array.length] -> ArrayOutOfBoundsException – agad
Массивы от 0 до длины - 1, а не от 1 до длины. –