제 3 자 라이브러리 (java)의 인터페이스를 구현 중입니다. 나는 다음과 같은 서명 기능을 무시하고 :kotlin에서 재정의 된 함수 매개 변수의 null 가능 변경하기
override fun onCallback(name: String?) {
}
나는 컴파일러 불평없이 다음에 변경할 수 있습니다
override fun onCallback(name: String) {
}
이것의 효과는 무엇입니까? 기본 라이브러리가 onCallback(null)
이라면 어떻게 될까요? 자바에서 오는
을 아 좋아, (내가 듣기 다른 한 주 동안 플랫폼 유형에 대한 이야기를했는데, 내 두뇌가 연결되지 않았다.) 나는 희망찬 생각을했다. 나는 함수와 일치하지 않는 호출이 단지 무의미하게 걸러지기를 바랐다 ... 지금 nullcheck을 피할 수있는 방법을 모르겠다 .- ' – Adam
원한다면 매개 변수에 null 입력 가능 유형을 만들 수있다. 함수의 첫 번째 줄에'name? : return'을 추가하십시오. 매개 변수는 본질적으로'val's이기 때문에, 함수의 나머지 부분에 대해서는 null이 아닌 타입으로 똑똑하게 변환 될 것입니다. – zsmb13