본문 바로가기
자바

자바 equals () [북붙따라하기]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2020. 12. 28.

자바 객체 비교 equals () 사용 예제) 코드를 복붙 하여 실행해 보시기 바랍니다. 설명은 코드 아래 부분에 있습니다.

 

import java.util.Scanner;

public class Sample {

	public static void main(String[] args) {
		
		//문장열을 입력받아 기존 문자열과 비교해 같으면 종료하는 예제
		String strA = "test"; // 비교당할 문자열 (원본)

		Scanner scanner = new Scanner(System.in); // 입력받기위해 생성

		String strInput ;	//입력받을 문자열을 저장
		while (true) {
			System.out.print("문자를 입력해주세요. : ");// 입력대기 문자출력

			strInput = scanner.nextLine();// 입력받은 문자를 strInput에 저장
			
			if(strA.equals(strInput)==true) {	//입력받은 문자와 기존 문자를 비교한다.
			//if(strInput.equals(strA)==true) 와 같은 내용이다. 서로 바꿔서 사용해도 상관없다.
				
				System.out.println("입력받은 문자는  test 와 같습니다.");
				break;
			}else {
				System.out.println("입력받은 문자는  test 와 다릅니다.");

			}
		}

	}
}

 

equals() 비교하는 메서드입니다.

주로 문자열을 비교해서 그 결과를 처리할 때 많이 사용합니다.

문자열인 String 은 객체 이므로 equals()는 다른 객체를 비교할 때도 사용이 가능합니다.

비교할 때는 그 값을 비교하게 됩니다.

다른 주소를 사용하고 있는 두 객체를 비교했을 때도 값만 같으면 true로 결과가 나옵니다.

주소를 비교하지는 않습니다.

 

위의 if 문에서 ==true 부분은 빼도 상관없습니다.

하지만 코드를 작성하다 보면 계속 넣게 됩니다.

왜 인지는 저도 잘 모르겠습니다.

아래는 실전 예제입니다.

 

// 테이블의 항목을 선택해 파일을 요청하면 이벤트를 처리하는 부분 svrFileRead 클래스 처리하는 부분
				else if (strFlag.equals("uschk") == true) {
					
					String strSearchName=strAllData.substring(5,10);	//사원개별 정보를 원하므로 사원아이디부분을 자른다.
					String strDir = "c:/diary/server/ilji/daily/"+strSearchName+"/";// 파일일 읽어올 디렉토리이름

					// 서버폴더 아래에 있는 모든 파일 리스트를 받아온다.
					SvrDirFilelistRead sdfr = new SvrDirFilelistRead();
					sdfr.showFilesInDIr(strDir);

					if (sdfr.byteBuff.length > 0) {
						os.write(sdfr.byteBuff, 0, sdfr.byteBuff.length);
						//System.out.println("※※child3--------------------------------------");
						System.out.printf("※※child3-uschk-flag[%s] 확인  성공 !!\n", strFlag);
						System.out.printf("※※child3--if:보낸데이터길이[%d] 보낸 내용\n[%s]\n", sdfr.byteBuff.length,
								sdfr.strFileList);

					} else { // 초기에 파일내용이 없을 때를 대배해서
						byte[] byteImsi = "파일이 없습니다.\n먼저 작업 일지를  작성해 주세요.\n".getBytes();
						os.write(byteImsi, 0, byteImsi.length);
						String strImsi = new String(byteImsi, 0, byteImsi.length);
						//System.out.println("※※child3--------------------------------------");
						System.out.println("파일이 없습니다.먼저 작업 일지를  작성해 주세요.");
						System.out.printf("※※child3--Flag uschk[%s] 확인  성공 !!\n", strFlag);
						System.out.printf("※※child3--else:보낸데이터길이[%d] 보낸 내용\n[%s]\n", byteImsi.length, strImsi);
					}
					os.flush();
					os.close();

				}	

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글