MySQL jdbc запись поиска внутри цикла for в Java - PullRequest
1 голос
/ 14 июня 2011

это то, что я делаю:

String[] output = new String[index.length];

     try{   
       for(int i=0; i<index.length; i++){
          Statement st = con.createStatement();
          ResultSet res = st.executeQuery(
              "SELECT url FROM resources WHERE rid = "+(index[i]);

        while(res.next()){
           output[i] = res.getString("url"); //<-- this is where exception is thrown
       }
    } catch(...)

Метод работает, но вместо того, чтобы печатать правильное значение URL, он печатает что-то вроде этого:

[Ljava.lang.String;@85af80  

Что это значит?Поле url в mySQL - это VarChar, оно отлично работает с вышеуказанными методами, но в этом цикле я получаю вышеуказанный результат ??

1 Ответ

3 голосов
/ 14 июня 2011

Вы не инициализировали output[]!

Попробуйте это:

String[] output = new String[index.length];

Этот странный вывод вызван печатью массива , то есть System.out.println(output);

Попробуйте вместо этого:

System.out.println(Arrays.toString(output));

Это вроде хромает, но java не печатает автоматически массив содержимое , он печатает тип объекта и адрес. Подсказка - это буква L в начале, которая используется для обозначения массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...