Any
является типа данных, так же, как Int
или String
, но отличается от них.
Tuple
является контейнером, который может содержать несколько типов данных, то есть он может содержать Vals различных типов данных, но тип Tuple
будет зависеть от того, сколько элементов есть в Tuple
, так, например:
val tup = (1, "hello", 4.4) // type of tup here is scala.Tuple3 (Int, String, Double)
val tup = (2.3, null) // type of tup here is scala.Tuple2 (Double, Null)
val tup = (5:Any, "hello", 2.2) // type of tup here is scala.Tuple3 (Any, String, Double)
Но тип каждого из элементов в Tuple
будет поддерживаться. Any
, как родной тип данных, в котором нет уникального типа элементов, будь то String
или Int
или Null
тип первоначально, будет преобразован в один тип данных Any
и потеряет весь тип -Информация.
Обновление:
Разница между Tuple
и List[Any]
является то, что Tuple
может содержать элементы нескольких типов данных, сохраняя при этом типе данных отдельных элементов.
Хотя List
или Array
может содержать только элементы одного типа данных , поэтому List[Any]
будет состоять из всех элементов типа Any
, поэтому она будет в основном преобразовать все элементы (независимо от их ранее типа данных) в Any
.
Тип 'Any' является хорошим признаком того, что что-то пошло не так. Избегай это. – jwvh