0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

Cách Sử Dụng Phương Thức contains() Trong Java

Đăng vào 5 tháng trước

• 5 phút đọc

Giới Thiệu

Khi làm việc với chuỗi trong Java, một trong những nhiệm vụ phổ biến nhất là kiểm tra xem một chuỗi có chứa một dãy ký tự cụ thể hay không. Java cung cấp một phương thức rất hữu ích cho việc này: contains().

Trong bài viết này, chúng ta sẽ khám phá phương thức contains() trong Java, cú pháp của nó, cách hoạt động, ví dụ mã, các trường hợp sử dụng phổ biến và những điều quan trọng cần lưu ý. Cuối cùng, bạn sẽ có thể tự tin sử dụng contains() trong các dự án của mình.

Phương Thức contains() Là Gì?

Phương thức contains() là một phương thức tích hợp của lớp String trong Java kiểm tra xem một dãy ký tự có tồn tại trong chuỗi hay không.

Giá Trị Trả Về

  • true → nếu chuỗi chứa dãy ký tự được chỉ định.
  • false → nếu không có.

Cú Pháp của contains()

java Copy
public boolean contains(CharSequence sequence)

Tham Số:

  • sequence → Dãy ký tự (như String, StringBuilder, hoặc StringBuffer) mà bạn muốn tìm kiếm trong chuỗi chính.

Kiểu Trả Về:

  • Trả về true nếu dãy ký tự tồn tại, nếu không trả về false.

Ví Dụ 1: Cách Sử Dụng Cơ Bản của contains()

java Copy
public class ContainsExample {
    public static void main(String[] args) {
        String text = "Lập trình Java rất thú vị";

        System.out.println(text.contains("Java"));   // true
        System.out.println(text.contains("Python")); // false
        System.out.println(text.contains("thú vị")); // true
    }
}

Kết Quả:

java Copy
true
false
true

Ở đây, phương thức kiểm tra xem "Java", "Python", và "thú vị" có tồn tại trong chuỗi hay không.

Ví Dụ 2: Nhạy Cảm Về Chữ Hoa

Phương thức contains()nhạy cảm với chữ hoa.

java Copy
public class CaseSensitiveExample {
    public static void main(String[] args) {
        String text = "Xin chào Thế Giới";

        System.out.println(text.contains("Xin"));   // true
        System.out.println(text.contains("xin"));   // false
    }
}

Kết Quả:

java Copy
true
false

Nếu bạn muốn tìm kiếm không phân biệt chữ hoa chữ thường, bạn có thể chuyển đổi cả hai chuỗi thành chữ thường hoặc chữ hoa bằng cách sử dụng .toLowerCase() hoặc .toUpperCase().

java Copy
text.toLowerCase().contains("xin".toLowerCase()); // true

Ví Dụ 3: Sử Dụng contains() Với Biến

java Copy
public class VariableExample {
    public static void main(String[] args) {
        String mainString = "Chào mừng đến với các bài học Java";
        String searchWord = "Java";

        if (mainString.contains(searchWord)) {
            System.out.println("Tìm thấy: " + searchWord);
        } else {
            System.out.println("Không tìm thấy");
        }
    }
}

Kết Quả:

java Copy
Tìm thấy: Java

Các Trường Hợp Sử Dụng Phổ Biến của contains()

  1. Chức Năng Tìm Kiếm
    • Kiểm tra xem đầu vào của người dùng có chứa một từ khóa nhất định hay không.
  2. Xác Thực
    • Xác minh xem một địa chỉ email có chứa "@" hay không.
    • Đảm bảo một URL chứa "https".
  3. Lọc Dữ Liệu
    • Lọc các chuỗi trong danh sách dựa trên từ khóa.

Ví Dụ: Lọc Với contains()

java Copy
import java.util.*;

public class FilterExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");

        for (String name : names) {
            if (name.contains("a") || name.contains("A")) {
                System.out.println(name);
            }
        }
    }
}

Kết Quả:

java Copy
Alice
Charlie

Những Hạn Chế của contains()

  1. Nhạy Cảm Về Chữ Hoa – Mặc định không bỏ qua sự khác biệt giữa chữ hoa và chữ thường.
  2. Khớp Dãy Ký Tự Chính Xác – Tìm kiếm các dãy ký tự chính xác, không phải là các mẫu (sử dụng regex với matches() nếu bạn cần khớp mẫu).
  3. NullPointerException – Nếu dãy ký tự nhập vào là null, nó sẽ phát sinh một ngoại lệ.

Sự Khác Biệt Giữa contains() và Các Phương Thức Khác

Phương Thức Mô Tả Ví Dụ
contains() Kiểm tra xem một dãy có tồn tại "Xin chào".contains("Xin") → true
equals() So sánh toàn bộ chuỗi "Xin chào".equals("xin chào") → false
startsWith() Kiểm tra xem chuỗi bắt đầu bằng tiền tố "Xin chào".startsWith("Xin") → true
endsWith() Kiểm tra xem chuỗi kết thúc bằng hậu tố "Xin chào".endsWith("o") → true
matches() Sử dụng regex để khớp mẫu "abc123".matches("[a-z]+\\d+") → true

Thực Hành Tốt Nhất

  • Sử dụng contains() cho kiểm tra chuỗi con đơn giản.
  • Đối với kiểm tra không phân biệt, chuyển đổi cả hai chuỗi thành chữ thường.
  • Đối với khớp mẫu, nên sử dụng regex với matches() hoặc Pattern.
  • Luôn kiểm tra giá trị null trước khi gọi contains() để tránh ngoại lệ.

Kết Luận

Phương thức contains() trong Java là một công cụ mạnh mẽ và dễ sử dụng để kiểm tra xem một chuỗi có bao gồm một dãy ký tự cụ thể hay không. Nó được sử dụng rộng rãi trong tìm kiếm văn bản, lọc dữ liệu và các tác vụ xác thực.

Những điểm cần ghi nhớ:

  • Phương thức này trả về true/false dựa trên sự hiện diện của chuỗi con.
  • Nó là nhạy cảm với chữ hoa chữ thường.
  • Hoạt động với các loại CharSequence (String, StringBuilder, StringBuffer).
  • Thích hợp cho tìm kiếm đơn giản, nhưng không cho các mẫu phức tạp.

Bằng cách thành thạo phương thức contains(), bạn có thể thực hiện các thao tác chuỗi trong Java một cách hiệu quả và hiệu quả hơn.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào