Para la mayoría de los objetos, el método toString()
no está destinado a la visualización, sino a la depuración. Esto se debe a que el método toString()
generalmente no tiene un formato específico y puede variar según la clase particular utilizada. Por ejemplo, LinkedList y ArrayList podrían devolver valores diferentes desde toString()
. Es poco probable, pero es algo en lo que debes evitar confiar. Por supuesto, si el objeto representa el texto real (String
, StringBuilder
, CharSequence
), lo anterior no se aplica.
Además, está creando y asignando la cadena varias veces en el ciclo for. En cambio, solo debe crear la cadena después de que se haya completado el ciclo for.
Para crear la cadena puede hacerla suya o utilizar una biblioteca como Apache commons lang, que tiene un método de utilidad StringUtils.join()
.
Si sacas su cuenta, podría ser algo como esto:
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();
no va a funcionar si hay soportes en los contenidos reales de la lista de texto – Sapience