Java - Text Blocks (Tiếng Việt)
Xin chào các bạn, những lập trình viên Java tương lai! Hôm nay, chúng ta sẽ khám phá một tính năng thú vị của Java được giới thiệu trong Java 13 và trở thành tính năng tiêu chuẩn trong Java 15: Text Blocks. Là một giáo viên khoa học máy tính thân thiện, tôi sẽ hướng dẫn các bạn qua chủ đề này với những giải thích rõ ràng và nhiều ví dụ. Hãy bắt đầu nào!
Text Blocks là gì?
Trước khi bước vào chi tiết, hãy hiểu rõ về Text Blocks và tại sao chúng lại rất hữu ích.
Text Blocks là cách để viết các chuỗi đa dòng tĩnh trong Java mà không cần phải lo lắng về các ký tự thoát và nối chuỗi. Chúng làm cho mã của bạn gọn gàng hơn, dễ đọc hơn và dễ bảo trì hơn. Hãy suy nghĩ về chúng như một siêu anh hùng cho các chuỗi của bạn, bay vào giúp bạn khỏi kẻ thù là mã xấu, khó đọc!
Vấn đề mà Text Blocks giải quyết
Để đánh giá Text Blocks, hãy xem đầu tiên cách viết các chuỗi đa dòng theo cách cũ:
String oldWay = "This is a long string\n" +
"that spans multiple lines\n" +
"and it's not very pretty to look at.";
Ôi! Điều đó khó nhìn lắm, phải không? Bây giờ, hãy xem cách Text Blocks làm cho điều này tốt hơn.
Cú pháp Text Blocks
Text Blocks sử dụng cú pháp đơn giản bắt đầu và kết thúc bằng ba dấu nháy kép ("""
). Dưới đây là cấu trúc cơ bản:
String textBlock = """
Your multi-line
text goes here
""";
Không phải gọn gàng hơn nhiều không? Như là dọn dẹp phòng của bạn - đột nhiên, mọi thứ dễ tìm và dễ hiểu hơn!
Ví dụ về Text Block trong Java
Hãy xem một ví dụ thực tế. Tưởng tượng bạn đang viết một chương trình cần hiển thị một hình ảnh ASCII đơn giản về một con mèo:
String catAsciiArt = """
/\\_/\\
( o.o )
> ^ <
""";
System.out.println(catAsciiArt);
Khi chạy mã này, bạn sẽ thấy:
/\_/\
( o.o )
> ^ <
Có phải rất dễ thương không? Và điều quan trọng hơn, mã có dễ đọc và hiểu hơn không? Như cách khác biệt giữa việc đọc một câu chuyện trong một cuốn sách hay cố gắng đọc nó từ một đống từ bất thường!
Hoạt động trên Text Blocks
Bây giờ đã biết cách tạo Text Blocks, hãy khám phá một số hoạt động có thể thực hiện trên chúng.
Nối chuỗi
Bạn có thể nối Text Blocks với các chuỗi khác như chuỗi bình thường:
String greeting = """
Hello,
""";
String name = "Alice";
String message = greeting + name + "!";
System.out.println(message);
Kết quả sẽ là:
Hello,
Alice!
Interpolation chuỗi
Mặc dù Java không có interpolation chuỗi tích hợp, bạn có thể sử dụng phương thức String.format()
hoặc phương thức mới formatted()
(được giới thiệu trong Java 15) với Text Blocks:
String name = "Bob";
int age = 30;
String bio = """
Name: %s
Age: %d
Occupation: Java Programmer
""".formatted(name, age);
System.out.println(bio);
Kết quả sẽ là:
Name: Bob
Age: 30
Occupation: Java Programmer
Phương thức của Text Blocks
Text Blocks vẫn là các chuỗi ở trái tim, vì vậy tất cả các phương thức có sẵn cho chuỗi có thể được sử dụng với Text Blocks. Dưới đây là một số phương thức hữu ích:
Method | Mô tả |
---|---|
length() |
Trả về độ dài của chuỗi |
trim() |
Loại bỏ các ký tự trắng ở đầu và cuối |
strip() |
Tương tự như trim(), nhưng nhận biết Unicode |
toLowerCase() |
Chuyển đổi tất cả các ký tự thành chữ thường |
toUpperCase() |
Chuyển đổi tất cả các ký tự thành chữ hoa |
replace(char oldChar, char newChar) |
Thay thế tất cả các xuất hiện của ký tự |
contains(CharSequence s) |
Kiểm tra xem chuỗi có chứa một chuỗi ký tự hay không |
Hãy xem một số ví dụ:
String poem = """
Roses are red,
Violets are blue,
Text Blocks are awesome,
And so are you!
""";
System.out.println("Length: " + poem.length());
System.out.println("Uppercase version:\n" + poem.toUpperCase());
System.out.println("Does it contain 'awesome'? " + poem.contains("awesome"));
System.out.println("Replace 'you' with 'Java':\n" + poem.replace("you", "Java"));
Kết quả sẽ là:
Length: 71
Uppercase version:
ROSES ARE RED,
VIOLETS ARE BLUE,
TEXT BLOCKS ARE AWESOME,
AND SO ARE YOU!
Does it contain 'awesome'? true
Replace 'you' with 'Java':
Roses are red,
Violets are blue,
Text Blocks are awesome,
And so are Java!
Các trường hợp sử dụng thực tế
Bây giờ đã bao gồm các khái niệm cơ bản, hãy xem một số tình huống thực tế nơi Text Blocks sáng:
-
HTML hoặc XML trong mã Java:
String html = """ <html> <body> <h1>Welcome to Java Text Blocks</h1> <p>They make multi-line strings easy!</p> </body> </html> """;
-
Truy vấn SQL:
String query = """ SELECT name, age FROM users WHERE country = 'USA' ORDER BY name ASC """;
-
Định dạng JSON:
String jsonData = """ { "name": "John Doe", "age": 30, "city": "New York", "hobbies": ["reading", "swimming", "coding"] } """;
Các ví dụ này minh họa cách Text Blocks có thể làm cho mã của bạn dễ đọc và dễ bảo trì hơn, đặc biệt khi xử lý các định dạng văn bản cấu trúc.
Kết luận
Và thế là xong, các bạn nhà! Chúng ta đã đi qua hành trình trong đất nước của Java Text Blocks, từ cú pháp đến ứng dụng thực tế. Hãy nhớ, Text Blocks như những người bạn tốt - chúng ở lại để làm cho cuộc sống của bạn dễ dàng hơn và mã của bạn gọn gàng hơn.
Khi kết thúc, dưới đây là một chút hài hước về lập trình: Lập trình viên nên làm việc sao? Vì anh không hiểu mảng! ?
Nhưng thực sự, với Text Blocks trong bộ công cụ của bạn, bạn sẽ không bao giờ phải đối mặt với các chuỗi đa dòng xấu lại. Chúng là một tính năng nhỏ nhưng lại làm thay đổi lớn trong độ dễ đọc và dễ bảo trì của mã của bạn.
Hãy tiếp tục tập luyện, tiếp tục lập trình, và nhớ - trong thế giới lập trình, sự rõ ràng là vị vua, và Text Blocks là những người trợ lý hoàng gia của bạn!
Credits: Image by storyset