스칼라 패턴 일치와 함께, 객체 유형에 일치하는 패턴을 작성하는 것이 좋습니까? 자바의 instanceOf
연산자를 사용하는 것만 큼 나쁘지 않은가? 패턴 일치가 코드를 더 잘 보이게한다. 오브젝트 유형을 패턴 매칭하는 것이 이상적입니까?객체 유형에 스칼라 패턴 일치
abstract class Employee
class Manager extends Employee
class SE2 extends Employee
emp match {
case m: Manager => ...
case s: SE2 => ...
}
는 이제 기본이 밀봉 특성
'object.type'에서 일치시키고 싶은 구체적인 예를 들려 줄 수 있습니까? –
기본 유형이 봉인 된 특성 인 경우 컴파일러는 '일치'사례가 전부가 아니라 모든 가능한 하위 유형을 포괄하지 않는 경우 경고합니다. 기본 유형이 봉인되지 않은 경우 좋은 기본'case' 만 필요합니다. – jwvh
@jwvh하지만 런타임에 객체의 유형을 코드 냄새와 비교하지 않습니까? 패턴 일치는 단지 그것을 아름답게합니다. 결국 그것은 바로 아래 instanceof와 같은 것입니다. –