인프런 커뮤니티 질문&답변
18강 map 질문
해결된 질문
작성
·
318
1
val values = fruits.filter { fruit -> fruit.name == "사과" } .mapNotNull { fruit -> fruit.nullOrValue() }
nullable한 List에서 null이 아닌 element만 가지고 오는 mapNotNull중에서..
nullOrValue()는 임의로 만드신 확장함수인가요?
답변 1
1
최태현
지식공유자
안녕하세요 민철님!! 질문 남겨주셔서 감사합니다! 🙂
강의에서 잠깐 스쳐지나가는 코드까지 정확히 봐주셨군요~~ 크으~~ 👍
nullOrValue() 는 사실 Fruit class에 만들어 둔 멤버 함수입니다!!
class Fruit {
fun nullOrValue(): Int? {
return ...
}
}이렇게 null 또는 null이 아닌 값을 준다는 의미로 mapNotNull 을 설명드리려고 만들어 두었어요!
mapNotNull 같은 경우는 주어진 람다에서 null이 나오는 경우는 무시한채, null이 아닌 원소만 모아주거든요!
nullOrValue() 가 Int? 를 반환한다면, mapNotNull 의 결과는 List<Int> 가 되는 것이죠!
다만 말씀해주신 것처럼 nullOrValue를 확장함수로도 만들 수 있습니다!
궁금증이 해결되셨으면 좋겠습니다~~ 감사합니다! 🙇🙇
최태현
지식공유자
메소드 이름이 특히나 nullOrValue() 였어서 확실히 내장 메소드 처럼 생겼네요!! 😭😭
다음부터는 조금 더 잘 설명해보겠습니다! 짚어주셔서 정말 감사합니다~~~!! 🙏
또 궁금한 점 있으시면 언제든 편하게 질문 남겨주세요!! 🙏






영상 내에서 특별한 언급이 없으셔서 내장 메소드인줄 알았습니다. 확인 감사함니다