작성
·
148
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
준호님, 안드로이드 스튜디오에서 스크래치 파일을 이용해 코드를 실행할 때 발생하는 ‘Type mismatch’ 오류에 대해 질문해주셨군요.
코드 내용을 보니 mutableMapOf
함수를 이용하여 mutableMap
이라는 가변 맵을 정의하신 것 같습니다. 여기서 주의해야 할 점은 mutableMapOf
에 전달되는 키와 값 쌍(key-value pairs)은 모두 같은 타입이어야 한다는 것입니다. 여기서 ‘age’가 정수로, ‘height’도 정수로 저장되어 있기 때문에 코틀린에서는 이 맵의 모든 값이 정수라고 추론하게 됩니다. 그런데 ‘hobby’의 값으로 문자열인 “coding”을 추가하려고 하니 타입 불일치 문제가 발생하는 것입니다.
오류를 해결하려면 맵의 모든 값이 동일한 타입, 예를 들어 모두 문자열로 취급되게 해야 합니다. 예를 들어 ‘age’와 ‘height’ 값도 문자열로 변경하면 됩니다.
val mutableMap = mutableMapOf("name" to "Joyce", "age" to "100", "height" to "180")
println(mutableMap)
mutableMap.put("hobby", "coding")
이렇게 모든 값을 문자열로 변환하면 타입 불일치 오류를 해결할 수 있습니다.
도움이 되었기를 바랍니다.