Cả hai phương thức trim()
và strip()
trong Java đều được sử dụng để loại bỏ khoảng trắng ở đầu và cuối chuỗi nhưng chúng có những khác biệt nhỏ như sau:
1. trim()
- Chức năng: Loại bỏ các ký tự khoảng trắng ở đầu và cuối chuỗi. Các ký tự khoảng trắng bao gồm khoảng trắng (
' '
), ký tự tab ('\t'
), ký tự xuống dòng ('\n'
), ký tự trở về đầu dòng ('\r'
), và một số ký tự không in khác. - Nhược điểm:
trim()
không loại bỏ toàn bộ các ký tự không phải khoảng trắng mà vẫn là ký tự không in được (whitespace characters) theo định nghĩa Unicode.
public class Java11StringAPIAdditions { public static void main(String[] args) { String s = " Hello TayJava "; System.out.println(s.trim()); // "Hello TayJava" } }
2. strip()
- Chức năng: Cũng loại bỏ khoảng trắng ở đầu và cuối chuỗi nhưng nó được cải thiện để xử lý tất cả các ký tự khoảng trắng theo định nghĩa của Unicode. Điều này có nghĩa là strip() sẽ loại bỏ nhiều loại ký tự trắng hơn so với trim(), bao gồm cả các ký tự như dấu cách không phá vỡ.
- Ưu điểm: Hiệu quả hơn và tuân thủ theo chuẩn Unicode hiện đại hơn.
public class Java11StringAPIAdditions { public static void main(String[] args) { String s = "\u2001\u2002Hello TayJava\u2001"; System.out.println(s.trim()); // "Hello TayJava" } }
3. Sự khác biệt chính
trim()
chỉ loại bỏ các ký tự khoảng trắng theo chuẩn cũ, còn strip() loại bỏ tất cả các ký tự trắng theo tiêu chuẩn Unicode.strip()
được khuyến khích sử dụng khi làm việc với chuỗi chứa các ký tự Unicode đặc biệt.