인프런 커뮤니티 질문&답변

멜론우롱차님의 프로필 이미지
멜론우롱차

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Validator 분리1

itemValidator.supports(item) 질문

작성

·

510

0

=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
안녕하세요 선생님!
강의 5:20~ 27쯤에 나오는 내용입니다!
 
if(itemValidator.supports(item))
형태로 supports 로 한번 타입 검증을 하고 코드 진행 하고 싶은데,
선생님 영상에는 오류가 없는데, 저는 타입 미스매치가 나와서요..
 
<질문>
item 위치에 Class<?> 타입이 필요하다는데,
(item)이 아닌 다른 값을 넣어줘야하는건가요?
 
참고로 ItemValidator 쪽의 supports 쪽에는 영상과 동일하게
public boolean supports(Class<?> clazz) {
return Item.class.isAssignableFrom(clazz);
}
 
로 오버라이딩했습니다!
 
시간되실 때 천천히 답변 부탁드리겠습니다
감사합니다
 
 
 
 
 
 

답변 4

2

item으로 넣지 마시고 item.getClass()로 한번 넣어서 테스트 해보시겠어요?

이런저런 시도해볼때 getClass()로 해봤던것같긴한데!
한번 다시 해보겠습니다! 답변 감사합니다! 

돼셨다면 다행입니다 ^^

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 이원회이원회님

강의 자료로 드리는 코드와 비교해보시겠어요?

답변 감사합니다!

0

item은 Item Class 인스턴스(객체)여서
instanceof 를 사용해야 하는데
supports 에서 사용하는건
isAssignableFrom 이어서 클래스 객체(클래스 메타 데이터)를
넘겨줘야 해서 getClass()로 넘겨야 합니다.

0

저도 같은 문제가 있었는데 getClass하니까 되네요 감사합니다.

멜론우롱차님의 프로필 이미지
멜론우롱차

작성한 질문수

질문하기