Hỏi về hàm toString trong java

package String;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class StringCompareTo {

	public static void main(String[] args) {
		String str = "Hello, Trung tam java";

		List<Character> list = new ArrayList<Character>();

		for (int i = 0; i < str.length(); i++) {
			list.add(str.charAt(i));
		}

		for (char c : list) {
			System.out.print(c);
		}

		Collections.reverse(list);
		System.out.println("\nSau khi dao nguoc");
		for (char c : list) {
			System.out.print(c);
		}

		String result = list.toString();
		System.out.println();
		System.out.print(result);

	}

}

các pro cho e hỏi 1 chút với, e muốn dùng hàm reverse() của Collection để đảo ngược một String cho trước, nhưng sao e ghi chạy chương trình trên thì chỉ có phần lệnh này

for (char c : list) {
    System.out.print(c);
}

cho e kết quả như mong muốn, nhưng lệnh này chỉ là các char đc viết liền thôi ko phải String, nhưng cái phần result của e nó in kết quả lại trả về 1 list là sao các bác nhỉ?

Hello,  Trung tam java
Sau khi dao nguoc
avaj mat gnurT, olleH
[a, v, a, j,  , m, a, t,  , g, n, u, r, T,  , , o, l, l , e, H]

à, hình như cái list trả về trong kết quả của e kia chính là list dưới định dạng String thì phải. có cách nào ghép chúng nó lại để trả về kết quả như mong muốn k ạ?

Thay vì dùng ArrayList thì bạn dùng StringBuilder:

String s = "Hello,  Trung tam java";
String r = new StringBuilder(s).reverse().toString();
2 Likes

Theo mình hiểu thì trong Java, .toString() là Method chứ không phải Function.

2 Likes

toString() là hàm giúp trả về chuỗi string đại diện cho Object của bạn, nhưng cái bạn cần là convert từ 1 List sang 1 chuỗi String, nên lúc này không áp dụng toString() được. (2 vấn đề khác nhau)
Còn bạn muốn convert nó lại như cũ thì xem đây nhé:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?