스칼라 목록의 모든 객체가 동일한 유형이어야한다는 인상을 받았고 다른 유형의 무언가가 필요한 경우 튜플을 사용해야합니다. 유형의 요소의 스칼라의 documentation, List
는 불변의 연결리스트에 대한스칼라 목록의 객체 유형
클래스는 주문을 나타내는, 컬렉션에서
.
scala> val l1 = List(1,2,3)
l1: List[Int] = List(1, 2, 3)
scala> val l1 = List(1,2,3, "oh really?!")
l1: List[Any] = List(1, 2, 3, oh really?!)
이 경우 될 것 같지 않습니다. 결국 Any
은 유효한 Scala
유형이며 모든 것을이 유형으로 줄일 수 있습니다.
명시 적 목록의 유형을 지정하지 않은
에서 더 자세한 설명을 찾을 수 있습니다.'List [T]'에는 'T'와 호환되는 유형의 값이있을 수 있습니다. 'List (1, 2, 3, "string")'와 같은'List' 리터럴을 쓸 때 컴파일러는 인수에있는 모든 값의 유형을 포함하는 상위 유형을 찾습니다. 'AnyVal' (원시 타입)과'AnyRef' (클래스 타입)에서 타입을 혼합 할 때 유일한 공통 타입은'Any'입니다. 이것은 두 번째 예제에서 일어난 것입니다. –