알고리즘 문제 푸는 중인데 stack.peek() 값이랑 list.get(i) 값이랑 같은지 확인하는 코드를 썼거든?
둘 다 제네릭으로 Integer 써줬는데
stack.peek() == list.get(i) 사용해서 비교한 코드는 백준에서 틀렸다고 하는데
stack.peek().equals(list.get(i)) 사용해서 비교한 코드는 또 맞았대
검색해보니까 equals() 함수는 객체의 값을 비교하고 == 연산자는 객체의 주소를 비교한다 카대?
그래서 진짜 다른지 확인해보려고 같은 값을 넣고 비교하는 테스트 코드 만들어서 실행해봤는데
stack.peek().equals(list.get(0)))
stack.peek() == list.get(0)
이건 또 왜 둘이 결과가 같은지 모르겠어
자바 잘 아는 사람?
익명(1.231)
2021-09-27 03:46
추천 0
댓글 10
다른 게시글
-
대학교 졸업했는데 CS모르는거 보면 한심하다 [5]익명(59.26) | 21.09.27추천 0
-
나도 여고생 3대1로 코딩과외하고싶다 [9]리액트공부(211.36) | 21.09.27추천 2
-
이제 기능 2개만 더 추가하면 돼....캠벨수프후..(artofdesign) | 21.09.27추천 0
-
test익명(182.210) | 21.09.27추천 0
-
자스 고수 헬프좀 window 새창열기 관련 [13]익명(110.45) | 21.09.27추천 0
-
나 학식때 코딩 과외 해봤었는데 [47]무화과깜빠..(subsprtlty) | 21.09.27추천 25
-
일을 두 개만 벌려도 24시간이 다 차는구나 [8]개좆밥(gaejotbab) | 21.09.27추천 0
-
컴공 갈려고 하는데 프로그래밍 언어 한 개 쯤은 배워가야하나? [4]익명(125.137) | 21.09.27추천 0
-
귀여운 개발자 vs 오타쿠 개발자 [2]캠벨수프후..(artofdesign) | 21.09.27추천 0
-
자바 한달공부하고 별찍기도 못하면 포기해야함? [11]익명(122.32) | 21.09.27추천 0
니가 작성한 테스트 코드는 같은 Integer 오브젝트를 비교했나보지
sc.nextInt()로 같은 값 두번 입력해서 주긴 했는데 객체가 다른지 같은지는 랜덤인가?
문제가 스트링이라서 그런거 아님?
?
아 ㅋㅋ 글 대충읽었음
peek()가 값반환하는게 아니라 값 참조만 하는걸로 아는데 docs에서 확인 ㄲ
주소가 같으면 같다고 나오지 뭘 고민하냐
equals 실제 리터럴 값 비교, ==주소값 비교. 근데 주소가 같으면? == 여도 같다 뜨는거지 뭐
스트링 풀로 만들었으면 그럴것임. 보통 스트링 풀로 만든 스트링에서 이런 문제 발생.
아 ㅈㅅ 나도 대충읽었네 인티저넣었노;