inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

JAVA Scanner

139

김민식

작성한 질문수 2

0

package bufferTest;

 

import java.util.Scanner;

 

public class BufferTest {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

 

 

 

String a = scan.next();

 

String[] arr1 = {"a"};

 

System.out.println(System.identityHashCode(a));

System.out.println(System.identityHashCode(arr1[0]));

 

}

}

 

 

왜 arr[0]과 a의 주소 값이 다른가요..???

답변 주시면 정말 감사하겠습니다!

java scanner

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

System.identityHashCode() 함수는 객체의 System Identity Hash Code 값을 반환하는데, 이는 객체마다 다른 값을 가집니다. Java에서 String은 immutable(불변)한 객체입니다. scan.next()를 통해 받은 입력 값 a는 새로운 String 객체를 생성하고, 이 객체는 arr1[0]에 저장된 문자열 “a”와 독립적입니다. 즉, 두 문자열이 내용은 같지만 실제로는 메모리 상에서 두 개의 서로 다른 객체로 존재합니다. 그래서 System.identityHashCode()의 결과가 서로 다릅니다.

만약 두 값이 같게 나오길 원한다면, 어떤 방식으로든 두 참조가 같은 객체를 가리키도록 해야 합니다. 예를 들어, 문자열 풀(String Pool)을 이용하거나, 같은 객체 참조를 직접 할당하는 방법이 있죠.

답변이 도움이 되셨길 바랍니다. 추가적인 궁금증이 있으시면 문의해 주세요. 감사합니다!

스프링 빈 등록 방법 2가지 다 알아야하는 이유

0

11

1

mybatis 를 이용한 crud에서 insert에서 resultType='long" 이라고 하셨는데요,

0

10

1

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

14

1

설계 트레이드 오프 링크 접속 안됨

0

28

2

테스트 질문, 어떤것을 사용할것인것에 대해서

0

13

1

Shape 클래스 실습 코드 피드백 요청드립니다

0

18

2

재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?

0

14

0

깃허브주소 궁금합니다.

0

15

2

mariaDB 설정

0

15

1

섹션4 퀴즈 오타있어요.

0

26

1

AWS 배포 성능테스트

0

46

1

조건 반복문 질문: for 문 ?

0

46

1

run() 메서드 안에 지역변수 sum을 사용한 이유

0

66

1

7강 보고 있는데요.. 글자가 너무 작아요

0

31

1

무한 depth 구현 중 CommentPath 관련 질문

0

43

1

헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.

0

80

2

정처기 26-2회. 9번 질문드립니다!

0

64

1

이론 보면서 질문이 있습니다.

0

65

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

76

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

106

2

262 정처기 실기 C언어코딩

0

38

1

정보처리기사 262 실기 Hash(해시) 질문

0

71

2

static 변수 질문입니다.

0

54

2

Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?

0

80

2