해결된 질문
작성
·
267
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()
였어서 확실히 내장 메소드 처럼 생겼네요!! 😭😭
다음부터는 조금 더 잘 설명해보겠습니다! 짚어주셔서 정말 감사합니다~~~!! 🙏
또 궁금한 점 있으시면 언제든 편하게 질문 남겨주세요!! 🙏
영상 내에서 특별한 언급이 없으셔서 내장 메소드인줄 알았습니다. 확인 감사함니다