본문 바로가기

Java/본격 Java 스트링

[Java] String 메소드 활용1

문자열(String)
 - 여러 글자를 의미하는 인스턴스로 java.lang.String 클래스를 이용합니다.
 - 문자열의 특성상 특정 용량을 지정할 수 없으므로 객체로 작업합니다.
 - 문자열 생성법
  String str = new String("문자열");
  String str = "믄자열"; // 유일하게 문자열에서만 허용하는 방법java.lang.String

하지만 생성 방법에 따라 다른 인스턴스를 가질 수 있다.

.

.

예제

class StringEx1 
{
	public static void main(String[] args) 
	{
		String str1 = "abcd";
		String str2 = "abcd";
		String str3 = new String("abcd");

		if (str1 == str2)
		{
			System.out.println("str1과 str2는 같다.");
		}else{
			System.out.println("str1과 str2는 다르다.");		
		}//동일한 인스턴스로 취급되어 서로 같다라고 나옴

		if (str2 == str3)
		{
			System.out.println("str2과 str3는 같다.");
		}else{
			System.out.println("str2과 str3는 다르다.");
		}
		// 다른 인스턴스이므로 서로 다름

		if (str1 == str3)
		{
			System.out.println("str1과 str3는 같다. \n");
		}else{
			System.out.println("str1과 str3는 다르다. \n");
		}
		//다른 인스턴스이므로 서로 다름
		// 문자열은 변수처럼 보이나 인스턴스이므로 같은지 여부를 검사할 경우
		// 연산자 '=='이 아닌 메소드(compaTo(), equals() 등)를 사용해야 함

		System.out.println("compareTo() 사용");

		if (str1.compareTo(str2) == 0)
		{
			System.out.println("str1과 str2는 같다.");
		}else{
			System.out.println("str1과 str2는 다르다.");		
		}
		if (str2.compareTo(str3) == 0)
		{
			System.out.println("str2과 str3는 같다.");
		}else{
			System.out.println("str2과 str3는 다르다.");
		}

		if (str1.compareTo(str3) == 0)
		{
			System.out.println("str1과 str3는 같다. \n");
		}else{
			System.out.println("str1과 str3는 다르다. \n");
		}
		// compareTo()는 String의 문자열 비교후 int형으로 리턴함
		// 같으면 0, 다르면 음수 또는 양수

		System.out.println("equals() 사용");

		if (str1.equals(str2))
		{
			System.out.println("str1과 str2는 같다.");
		}else{
			System.out.println("str1과 str2는 다르다.");		
		}

		if (str2.equals(str3))
		{
			System.out.println("str2과 str3는 같다.");
		}else{
			System.out.println("str2과 str3는 다르다.");
		}

		if (str1.equals(str3))
		{
			System.out.println("str1과 str3는 같다. \n");
		}else{
			System.out.println("str1과 str3는 다르다. \n");
		}
		// eqauls()는 String의 문자열 비교후 boolean으로 리턴함.

		String str4 = "azz";
		String str5 = "baa";
		System.out.println(str4.compareTo(str5));
		// 원본 문자열이 비교 문자열보다 사전적으로 앞서 있으면 음수, 뒤쳐지면 양수.
	}
}

 

 서로 같은 문자인 것을 확인하기 위해서는

compareTo() 나 equals()를 사용해야 한다.

 

int compareTo(String anotherString) : 문자열의 값 비교로 같으면 0, 다르면 양수 또는 음수가 나옵니다.
int compareToIgnoreCase(String str) : compareTo()와 같으나 대소문자를 구분하지 않고 비교합니다.

 

boolean equals(Object anObject) : 문자열의 값이 같은지 여부를 확인합니다.

boolean equalsIgnoreCase(String anotherString) : equals()와 같은 역할을 하며 대소문자를 구별하지 않습니다.

 

compareTo()는 int type으로 반환되고,

equals()는 boolean type으로 반환됨을 기억해야 한다.

728x90
반응형

'Java > 본격 Java 스트링' 카테고리의 다른 글

[Java] String 메소드 활용 3  (0) 2020.06.26
[Java] String 메소드 활용 2  (0) 2020.06.26
[Java] String 메소드  (0) 2020.06.26
[Java] 오버로딩(overloading)  (0) 2020.06.26