해결된 질문
작성
·
100
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요.
cklee님의 질문을 도와주다가 저가 답변의 실수를 발견하여 수정하고 고친 다음에 다시 답변을 하였습니다.
근데 코드를 고치다 보니까. 뭔가 이상한 것을 발견해서. 질문을 드립니다.
A코드랑 B코드가 있는데, A의 syso는 문자열이 다 나오는데, B코드는 "()"를 안치니 false가 되던데..
그 이유가 연산자의 우선순위 때문에 "글자 문자열 + str6" 을 하고 나서, "합친 str6 == str7" 이렇게 비교 되는 건가요?(질문을 하다 보니까 깨달아 지더라고요.)
그리고 이 계기로 인하여 정확한 답을 해주는게 어렵다는것을 느끼게 되네요.
공식서포즈님들 및 ,영한님 감사를 드립니다.
답변 부탁드립니다.
그리고 버그 있음.
글이 이상해서 수정했는데. 이렇게 나옴..
추가
그리고 몸이 아프거나 피곤 할때는 코드 여러번 보는게 좋네요..(코드를 보긴 했는데 정확히 제대로 안봄...)
답변 1
2
안녕하세요. 생각하는자님, 공식 서포터즈 David입니다.
연산자의 동작 때문에 위와 같은 현상이 나타나게 됩니다.
이에 대해 자세히 설명한 글이 있으니 참고해 주세요:)
https://blogs.oracle.com/javamagazine/post/java-plus-equalsequals-operations
감사합니다.
David님 감사드립니다.