Da un ArrayList<String> "Gianni" "Piero" "Maria" vuoi ottenere un'unica stringa "Gianni, Piero, Maria" oppure la stringa "Gianni, Piero"? Non ho capito se quel "tranne l'ultimo elemento" si riferisce all'ultimo elemento o al fatto che non vuoi la virgola dopo l'ultimo elemento. Comunque poco cambia.Originariamente inviato da leonardophp
Ciao a tutti,
ho un problema nel creare una stringa da una query effettuata su un db ecco il codice:
riesco quindi a attenere un arraylist da quella query, ma vorrei invece avere una stringa fatta in questo modo:codice:Statement st = null; ResultSet rs = null; String figli = null; ArrayList<String> ar = new ArrayList<String>(); String SQL = "select FIGLIO from PADRE_FIGLIO where PADRE = '" + string + "'"; try { st = con.createStatement(); rs = st.executeQuery(SQL); while (rs.next()) { String value = rs.getString("FIGLIO"); ar.add(value); } } catch (SQLException e) { } finally { try { if (rs != null) rs.close(); if (st != null) st.close(); } catch (Exception e) { } }
la query restituisce quanti figli ha un padre (n° dimanico quindi)
vorrei che il metodo restituisse
return figli = figlio1, figlio2, figlio3
ecc... cioè vorrei concatenare i risultati della query con ", " tranne l'ultimo elemento.
Avete idee?
Grazie ciao![]()
Inserisci inizialmente nella stringa da ritornare il primo elemento e comincia a scorrere gli elementi l'ArrayList (fermando all'ultimo o al penultimo a seconda di cosa intendevi), e ad ogni iterazione concateni alla stringa un ", " (virgola e spazio) e l'elemento dell'ArrayList in questione. Se ho capito quel che volevi fare, e se ovviamente l'ArrayList è ben fatto come dici.
Devo ammettere che non ho controllato nelle API se c'è qualche metodo già fatto che faccia al caso tuo, ma tanto si tratta di poche righe.
Più che una String, sarebbe corretto utilizzare StringBuilder/StringBuffer che non sono immutabili, avranno un metodo append() o simile.