Java 에서 문자열이 비어 있는지 확인하는 방법

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 문자열이 비어 있는지 확인하는 방법을 배우게 됩니다. 문자열 길이를 확인하기 위해 length() 메서드를 사용하는 방법, 직접적인 확인을 위해 전용 isEmpty() 메서드를 활용하는 방법, 그리고 오류를 방지하기 위해 비어 있는지 확인하기 전에 잠재적인 null 문자열을 처리하는 방법을 포함하여 세 가지 주요 기술을 살펴볼 것입니다. 이 랩을 마치면 Java 프로그램에서 문자열의 비어 있음을 효과적으로 결정하는 방법에 대한 확실한 이해를 갖게 될 것입니다.

length() 메서드를 사용하여 문자열 길이 확인

이 단계에서는 내장된 length() 메서드를 사용하여 Java 에서 문자열의 길이를 결정하는 방법을 살펴봅니다. 문자열 길이를 이해하는 것은 모든 프로그래밍 언어에서 텍스트 데이터를 사용할 때 기본적인 개념입니다.

Java 에서 String은 일련의 문자입니다. length() 메서드는 문자열에 몇 개의 문자가 있는지 확인하는 간단한 방법입니다. 단어의 글자 수 또는 문장의 단어 수를 세는 것과 같습니다.

이를 시연하기 위해 간단한 Java 프로그램을 만들어 보겠습니다.

  1. HelloJava.java 파일을 WebIDE 편집기에서 엽니다 (아직 열려 있지 않은 경우).

  2. 파일의 전체 내용을 다음 코드로 바꿉니다.

    public class HelloJava {
        public static void main(String[] args) {
            String greeting = "Hello, Java!";
            int length = greeting.length();
            System.out.println("The string is: " + greeting);
            System.out.println("The length of the string is: " + length);
        }
    }

    이 코드의 새로운 부분을 살펴보겠습니다.

    • String greeting = "Hello, Java!";: 이 줄은 greeting이라는 변수를 선언하고 문자열 값 "Hello, Java!"를 할당합니다.
    • int length = greeting.length();: 여기서 length() 메서드를 사용합니다. greeting 문자열에 대해 length()를 호출하면 해당 문자열의 문자 수를 반환합니다. 이 숫자는 length라는 정수 변수에 저장됩니다.
    • System.out.println("The string is: " + greeting);: 이 줄은 원래 문자열을 콘솔에 출력합니다.
    • System.out.println("The length of the string is: " + length);: 이 줄은 계산된 문자열의 길이를 출력합니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 이제 프로그램을 컴파일해 보겠습니다. WebIDE 하단의 터미널을 열고 ~/project 디렉토리에 있는지 확인합니다. 그런 다음 다음 명령을 실행합니다.

    javac HelloJava.java

    컴파일이 성공하면 아무런 출력도 표시되지 않습니다.

  5. 마지막으로 컴파일된 프로그램을 실행해 보겠습니다.

    java HelloJava

    다음과 유사한 출력을 볼 수 있습니다.

    The string is: Hello, Java!
    The length of the string is: 12

    출력은 원래 문자열과 그 길이 (쉼표, 공백 및 느낌표 포함) 인 12 를 보여줍니다.

Java 에서 length() 메서드를 사용하여 문자열의 길이를 성공적으로 찾았습니다! 이것은 텍스트 데이터를 사용할 때 기본적이지만 중요한 작업입니다.

isEmpty() 메서드로 빈 문자열 확인

이 단계에서는 isEmpty() 메서드를 사용하여 Java 에서 문자열이 비어 있는지 확인하는 방법을 배웁니다. 빈 문자열은 문자가 0 개인 문자열입니다. 공백이나 다른 문자를 포함하는 문자열과는 다릅니다.

isEmpty() 메서드는 문자열의 길이가 0 인지 확인하는 편리한 방법입니다. 문자열이 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

isEmpty() 메서드를 시연하기 위해 HelloJava.java 프로그램을 수정해 보겠습니다.

  1. WebIDE 편집기에서 HelloJava.java 파일을 엽니다.

  2. 기존 코드를 다음으로 바꿉니다.

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = ""; // This is an empty string
            String str3 = " "; // This string contains a space
    
            System.out.println("String 1: \"" + str1 + "\"");
            System.out.println("Is String 1 empty? " + str1.isEmpty());
    
            System.out.println("\nString 2: \"" + str2 + "\"");
            System.out.println("Is String 2 empty? " + str2.isEmpty());
    
            System.out.println("\nString 3: \"" + str3 + "\"");
            System.out.println("Is String 3 empty? " + str3.isEmpty());
        }
    }

    이 코드에서:

    • 내용이 있는 str1, 비어 있는 str2, 공백이 포함된 str3의 세 개의 문자열을 선언합니다.
    • str1.isEmpty(), str2.isEmpty(), str3.isEmpty()를 사용하여 각 문자열이 비어 있는지 확인합니다.
    • System.out.println() 문은 문자열과 isEmpty() 검사 결과 (true 또는 false) 를 출력합니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 터미널에서 수정된 프로그램을 컴파일합니다.

    javac HelloJava.java

    다시, 출력이 없으면 컴파일이 성공했음을 의미합니다.

  5. 프로그램을 실행합니다.

    java HelloJava

    다음과 유사한 출력을 볼 수 있습니다.

    String 1: "Hello"
    Is String 1 empty? false
    
    String 2: ""
    Is String 2 empty? true
    
    String 3: " "
    Is String 3 empty? false

    보시다시피, isEmpty()str2를 비어 있음 (true) 으로 올바르게 식별하지만 str1 또는 str3는 그렇지 않습니다 (false). 이는 str3이 비어 보이는 경우에도 공백 문자를 포함하기 때문입니다.

isEmpty() 메서드를 사용하여 문자열이 비어 있는지 성공적으로 확인했습니다. 이는 사용자 입력을 검증하거나 누락되거나 빈 문자열의 경우를 처리해야 하는 텍스트 데이터를 처리하는 데 유용합니다.

빈 문자열 확인 전 Null 문자열 처리

이전 단계에서는 isEmpty() 메서드를 사용하여 문자열이 비어 있는지 확인하는 방법을 배웠습니다. 그러나 Java 에는 null이라는 중요한 개념이 있습니다. null 값은 변수가 어떤 객체도 참조하지 않음을 의미합니다. null 문자열에서 isEmpty()와 같은 메서드를 호출하려고 하면 프로그램이 NullPointerException으로 인해 충돌합니다.

null 문자열에서 메서드를 호출하기 전에 이를 처리하는 것이 중요합니다. 이를 수행하는 가장 안전한 방법은 먼저 문자열이 null인지 확인하는 것입니다.

null 문자열을 처리하는 방법을 시연하기 위해 프로그램을 수정해 보겠습니다.

  1. WebIDE 편집기에서 HelloJava.java 파일을 엽니다.

  2. 기존 코드를 다음으로 바꿉니다.

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = "";
            String str3 = null; // This string is null
    
            System.out.println("Checking String 1: \"" + str1 + "\"");
            if (str1 != null && !str1.isEmpty()) {
                System.out.println("String 1 is not null and not empty.");
            } else {
                System.out.println("String 1 is null or empty.");
            }
    
            System.out.println("\nChecking String 2: \"" + str2 + "\"");
            if (str2 != null && !str2.isEmpty()) {
                System.out.println("String 2 is not null and not empty.");
            } else {
                System.out.println("String 2 is null or empty.");
            }
    
            System.out.println("\nChecking String 3: " + str3); // Note: printing null doesn't crash
            if (str3 != null && !str3.isEmpty()) {
                System.out.println("String 3 is not null and not empty.");
            } else {
                System.out.println("String 3 is null or empty.");
            }
        }
    }

    이 코드에서:

    • null 문자열 str3을 소개합니다.
    • isEmpty()를 호출하기 전에 먼저 str != null을 사용하여 문자열이 null인지 확인합니다.
    • 논리 AND 연산자 (&&) 를 사용하여 null 검사와 isEmpty() 검사를 결합합니다. !str.isEmpty() 부분은 str != null이 true 인 경우에만 평가되어 NullPointerException을 방지합니다.
    • if 문은 문자열이 null이 아니고 그리고 비어 있지 않은지 확인합니다.
  3. 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).

  4. 터미널에서 프로그램을 컴파일합니다.

    javac HelloJava.java
  5. 프로그램을 실행합니다.

    java HelloJava

    다음과 유사한 출력을 볼 수 있습니다.

    Checking String 1: "Hello"
    String 1 is not null and not empty.
    
    Checking String 2: ""
    String 2 is null or empty.
    
    Checking String 3: null
    String 3 is null or empty.

    이 출력은 코드가 str1을 null 이 아니고 비어 있지 않음으로, str2str3을 null 또는 비어 있음으로 올바르게 식별하며 충돌하지 않음을 보여줍니다.

문자열에서 메서드를 호출하기 전에 null을 확인하면 Java 프로그램의 견고성을 높이고 일반적인 오류를 방지할 수 있습니다. 이는 Java 프로그래밍에서 매우 중요한 관행입니다.

요약

이 랩에서는 Java 에서 문자열이 비어 있는지 확인하는 방법을 배웠습니다. 텍스트 데이터 작업을 위한 기본적인 개념인 문자열의 문자 수를 결정하기 위해 length() 메서드를 탐구하는 것으로 시작했습니다. length()를 사용하는 방법과 문자열과 길이를 콘솔에 출력하는 방법을 보여주는 간단한 Java 프로그램을 작성했습니다.

isEmpty()와 같은 다른 메서드를 계속 탐구하고 null 문자열을 처리하여 Java 프로그램에서 강력한 빈 문자열 검사를 보장하는 방법을 배웁니다.