스칼라에서 문자열 비교하기

Suraj P 2023년1월30일
  1. 스칼라에서 equals() 메서드를 사용하여 문자열 비교
  2. Scala에서 == 연산자를 사용하여 문자열 비교
  3. 자바와 스칼라에서의 평등
스칼라에서 문자열 비교하기

이 기사에서는 Scala 프로그래밍 언어에서 두 문자열을 비교하는 방법을 배웁니다.

두 문자열이 동일한 문자 시퀀스를 갖는 경우 동일한 것으로 간주됩니다. 이제 Scala에서 문자열을 비교하는 다양한 접근 방식을 살펴보겠습니다.

스칼라에서 equals() 메서드를 사용하여 문자열 비교

스칼라에서 String 클래스에는 두 문자열이 같은지 확인하는 equals() 메서드가 있습니다.

통사론:

string_one.equals(string_two)

string_onestring_two가 모두 같으면 이 함수는 true를 반환합니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

        val one = "Tony"
        val two = "Tony"
        val ans = one.equals(two)
        println(ans)

    }
}

출력:

true

한 가지 주의할 점은 equals() 메서드는 대소문자를 구분하므로 tonyTony가 다르게 취급된다는 의미입니다. 이를 극복하기 위해 String 클래스에 equalsIgnoreCase() 메서드를 사용할 수 있습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

        val one = "Tony"
        val two = "toNy"
        val ans = one.equalsIgnoreCase(two)
        println(ans)

    }
}

출력:

true

참고: String 클래스의 equals() 함수를 호출하는 문자열(위 코드의 one 문자열과 같이)은 null이 아니어야 합니다. 그렇지 않으면 NullPointerException이 발생합니다.

Scala에서 == 연산자를 사용하여 문자열 비교

== 메소드를 사용하여 Scala에서 두 문자열을 비교할 수 있습니다.

통사론:

string_one == string_two

== 메소드는 string_onestring_two가 같은지 확인합니다. 두 문자열이 같으면 true를 반환합니다. 그렇지 않으면 거짓을 반환합니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

        val one = "tony"
        val two = "tony"
        if(one==two)
           println(true)
        else
        println (false)

    }
}

출력:

true

문자열이 대소문자를 구분한다는 것을 알고 있다면 equals() 메서드보다 ==를 사용하는 주요 이점 중 하나는 문자열 중 하나가 null인 경우에도 NullPointerException이 발생하지 않는다는 것입니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

        val one = "tony"

        if(one == null)
           println(true)
        else
        println (false)

    }
}

출력:

false

백엔드에서 == 메소드는 먼저 null 값을 확인한 다음 첫 번째 문자열 객체로 equals() 메소드를 호출하여 동일한지 확인합니다. 이러한 이유로 == 메서드는 대소문자를 구분하는 방식으로 문자열을 비교하지 않습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {
        val one = "tony"
        val two = "TONY"
        if(one == two)
           println(true)
        else
        println (false)

    }
}

출력:

false

이러한 대소문자 구분 상황을 극복하기 위해 두 문자열을 모두 대문자 또는 소문자로 변환한 다음 비교할 수 있습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {
        val one = "tony"
        val two = "TONY"
        if(one.toLowerCase() == two.toLowerCase())
           println(true)
        else
        println (false)

    }
}

출력:

true

위 코드에서는 toLowerCase() 메서드를 사용하여 두 문자열을 모두 소문자로 변환한 다음 == 메서드를 사용하여 비교했습니다.

자바와 스칼라에서의 평등

Java와 Scala는 평등에 관한 정의가 다릅니다. Java에는 주로 같음을 확인하는 두 가지 방법이 있습니다. 하나는 참조 같음을 엄격하게 확인하는 == 연산자를 사용하는 것이고 다른 하나는 재정의하여 내용을 확인할 수 있는 equals() 메서드입니다. 사물.

스칼라에서 == 메소드는 모든 유형을 비교하는 데 사용할 수 있습니다. 즉, a==b는 동일한 객체를 참조하거나 동일한 값을 포함하는 경우 true를 반환합니다. 그리고 Scala에서 == 메소드는 모든 클래스에 정의된 final 메소드입니다.

작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

관련 문장 - Scala String