ETC
Unchecked overriding: return type requires unchecked conversion. Found
onddd
2023. 11. 23. 19:59
728x90
프로젝트 진행중 컬렉션을 사용한 리포에서 경고 메시지가 나왔다.
Unchecked overriding: return type requires unchecked conversion. Found
이 경고는 제네릭 메서드에서 반환 타입이 경고 없이 변환이 필요한 경우 발생할 수 있는 경고이고
자바에서 제네릭 타입의 형식을 확인할 때 발생한다고한다. 자바에서는 컴파일러가 타입 안전성을 검사하기 위해 제네릭 타입을 하는데 경고가 발생하는 경우 제네릭 타입의 형식 변환에 의해 안전성이 보장되지 않을 수 있다.
즉, 어떤 타입으로 반환되는지 명확하지 않을경우 발생하는 경고이기 때문에 이를 명시해주는걸로 해결할 수 있었다.
@Repository
public interface ArmRepository extends JpaRepository<Arm, Long> {
@Override
<T extends Arm> T save(T arm);
}
이 후 제네릭 타입을 사용하지 않는 리포에서도 동일한 경고가 발생했는데 이는 제네릭을 사용하지 않는 다른 리포지토리들에 대해 변경해야 하는 이유는 일관성과 호환성을 유지하기 위해서라고한다.