오늘은 String에서, Object의 valueOf는 어떤 식으로 동작하는지 알아보겠습니다. lombok을 쓰시다 보면, ToString 어노테이션을 잘못 쓰다가 stackoverflow 에러가 났다는 글을 보실 수 있습니다.이는 왜 그런 것일까요? 어떤 메서드 때문에 사이클이 문제가 된 것일까요? 결론부터 말하면 toString이 모든 필드에 대한 정보를 출력하게 만들었습니다. 그리고, 이들에 대한 정보를 출력하기 위해 호출하는 valueOf 메서드 때문입니다. 그래서, 이 메서드에 대해서 작성을 하였습니다. 문제 상황을 재현해 보면 아래와 같습니다. A.java입니다. A 안에는 필드 b가 들어 있습니다. A 객체 a를 하나 생성했다고 해 보겠습니다. 생성자가 호출이 되면, b에는 새로 생성한 B ..
valueOf 검색 결과
해당 글 2건
Java의 String.valueOf 메서드의 동작과 lombok의 ToString 어노테이션의 스택 오버플로우
레퍼런스/분석
2020. 11. 5. 02:07
java parseint vs valueof : 어떤 것을 리턴할까?
java에서, String을 Integer, 혹은 int형으로 변환하기 위해서 각각 valueOf라던지, parseInt를 많이 사용하는 편입니다. 이들은 내부적으로 어떻게 동작할까요? parseInt를 먼저 봅시다. 615번째 줄에서 같은 이름의 메서드를 호출합니다. 그런데, 2번째 인자가 10인데, 이는 10진법인 s를 int형으로 바꾸겠다는 것을 나타냅니다. 처음에, 조건에 맞는지 확인을 합니다. 만약에 맞지 않다면, 예외를 던질 텐데요. radix가 2 미만이거나 36 이상이거나, s가 null이라면, 예외를 던지게 되어 있습니다. 밑에 줄을 계속 봅시다. 558번째 줄에 limit라는 친구가 있습니다. Integer.MAX_VALUE의 값이 2148483647인데요. 여기에 -1을 곱했으니까, ..
레퍼런스/분석
2019. 6. 22. 18:37
최근댓글