Per la maggior parte degli oggetti, il metodo toString()
non è destinato a essere utilizzato per la visualizzazione, ma in genere al debug. Questo perché il metodo toString()
in genere non ha un formato specifico e potrebbe variare in base alla particolare classe utilizzata. Ad esempio, un LinkedList e ArrayList potrebbero restituire valori diversi da toString()
. È improbabile, ma è qualcosa su cui dovresti evitare di fare affidamento. Naturalmente, se l'oggetto rappresenta il testo attuale (String
, StringBuilder
, CharSequence
), quanto sopra non si applica.
Inoltre, si sta creando e assegnando la stringa più volte nel ciclo for. Invece, dovresti creare la stringa solo dopo aver completato il ciclo for.
Per creare la stringa è possibile eseguire il rollover o utilizzare una libreria come Apache commons lang, che ha un metodo di utilità StringUtils.join()
.
Se si tira il proprio, potrebbe essere simile a questa:
Elements divElements = jsDoc.getElementsByTag("div");
Iterator<Element> iterator = divElements.iterator();
StringBuilder builder = new StringBuilder();
while (iterator.hasNext()){
Element divElement = iterator.next()
if (divElement.attr("class").equals("article-content")){
builder.append(divElement.text());
if (iterator.hasNext()) {
builder.append(", ");
}
}
}
text = builder.toString();
non funzionerà se ci sono parentesi nel contenuto reale di lista testi – Sapience