Đối với hầu hết các đối tượng, phương pháp toString()
không nhằm mục đích hiển thị, nhưng thường là gỡ lỗi. Điều này là do phương pháp toString()
thường không có định dạng cụ thể và có thể khác nhau tùy thuộc vào từng lớp cụ thể được sử dụng. Ví dụ, một LinkedList và ArrayList có thể trả về các giá trị khác nhau từ toString()
. Nó không chắc, nhưng một cái gì đó bạn nên tránh dựa vào. Tất nhiên, nếu đối tượng đại diện cho văn bản thực tế (String
, StringBuilder
, CharSequence
), thì điều này không áp dụng.
Ngoài ra, bạn đang tạo và gán chuỗi nhiều lần trong vòng lặp for. Thay vào đó, bạn chỉ nên tạo chuỗi sau khi vòng lặp for được thực hiện.
Để tạo chuỗi, bạn có thể cuộn chuỗi của riêng mình hoặc sử dụng thư viện như Apache commons lang, có phương thức tiện ích StringUtils.join()
.
Nếu bạn cuộn của riêng bạn, nó có thể trông giống như thế này:
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();
nó sẽ không hoạt động nếu có dấu ngoặc trong nội dung thực của danh sách văn bản – Sapience