자바
자바 equals () [북붙따라하기]
세상 모든 것 들은 그 자신을 위해 존재한다.
2020. 12. 28. 11:57
자바 객체 비교 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
반응형