1. String 문자열 대문자, 소문자 변환
String myString = "aBcDe";
System.out.println(myString.toUpperCase()); // ABCDE 출력
System.out.println(myString.toLowerCase()); // abcde 출력
System.out.println(myString); // aBcDe 출력
Java에서는 문자열을 대문자로, 혹은 소문자로 변경하는 내장 함수를 제공하고 있다.
- toUpperCase() -> 대문자형으로 변환
- toLowerCase() -> 소문자형으로 변환
위 코드에서 두 메소드는 myString의 값 자체를 변경하는 것이 아닌
새로운 문자열을 리턴하는 것이기 때문에
myString의 값 자체는 변하지 않는다.
2. equals 메소드
String myString = "aBcDe";
System.out.println(myString.toLowerCase() == "abcde"); // false
aBcDe를 모두 소문자로 바꾼 뒤 abcde와 같은지 비교를 해보려고 하는데 false가 출력된다.
왜? 이유가 뭘까??
기본형의 == 연산자는 양쪽 값이 같으면 true를 출력하지만,
위와 같이 참조형 변수의 경우 각각의 인스턴스의 참조 값을 확인하게 된다.
위에서 말했던 것 처럼 .toLowerCase는 값 자체를 변경하는 것이 아니라 새로운 문자열을 리턴하는 것이기 때문에,
두 문자열의 실제 주소가 달라 false가 출력되는 것이다.
String myString = "aBcDe";
System.out.println(myString.toLowerCase().equals(abcde)); // true
문자열의 내용 자체가 같은지 확인하려면 이렇게 equals 메소드를 사용하면 된다.

예전에 정리해둔 자료.. 오랜만에 꺼내보니 새롭다 ^^7

728x90
'Java' 카테고리의 다른 글
[IntelliJ] Gradle Dependencies refresh (1) | 2023.09.27 |
---|---|
[Java] 자바의 변수들 (0) | 2023.01.21 |