Scala 如何使列表包含整数和字符串?仅使用列表的挑战

Scala 如何使列表包含整数和字符串?仅使用列表的挑战,scala,Scala,我从scala开始,我需要在列表中包含一组int,以及除数字以外的其他内容 例如List(4,null)或List(4,“STOPSTR”) 如何声明List[Int或String](种类)类型的变量 什么的 另外,是否可以为一个可以 只包含某个字符串。例如,List[Int或String==“STOPSTR”] 并在编译时检查它 出于挑战的原因,我只能在本练习中使用列表,没有类,没有地图,甚至没有数组。您可以使用两种不同的方法: 第一种方法是使用Any作为List的类型参数。但这里的问题是

我从scala开始,我需要在
列表中包含一组int,以及除
数字以外的其他内容

例如
List(4,null)
List(4,“STOPSTR”)

  • 如何声明
    List[Int或String]
    (种类)类型的变量 什么的

  • 另外,是否可以为一个可以 只包含某个字符串。例如,
    List[Int或String==“STOPSTR”]
    并在编译时检查它


出于挑战的原因,我只能在本练习中使用列表,没有类,没有地图,甚至没有数组。

您可以使用两种不同的方法:

  • 第一种方法是使用
    Any
    作为
    List
    的类型参数。但这里的问题是,它不局限于
    Int
    String
    类型。您也可以将任何其他类型添加到列表中 例如

  • 第二种方法是使用
    。其中一个具有可以不同的
    类型。e、 g

  • 您可以采用两种不同的方式:

  • 第一种方法是使用
    Any
    作为
    List
    的类型参数。但这里的问题是,它不局限于
    Int
    String
    类型。您也可以将任何其他类型添加到列表中 例如

  • 第二种方法是使用
    。其中一个具有可以不同的
    类型。e、 g

  • 第一个将在Scala 3上提供。第二种方法是使用细化类型(但这些类型仅在外部库中可用)一般来说,这似乎是一种代码味道,列表是同质的数据结构。你能分享一下你想要解决的挑战是什么,你尝试过什么吗?我不得不说,挑战不是很好,在香草Scala中,没有“黑客”是不可能的。检查这个:如果你真的想做的话。如果可以的话,我很想看看这个挑战provided@LuisMiguelMejíaSuárez实际上,这将是一个文字类型(Scala 2.13的一部分),而不是一个精炼类型。为什么需要它?我使用Scala大约3年了,我不需要使用类似
    List[Int或String]
    (但有时我想使用
    Double或Int
    )。您可以为Int和String创建自己的类型,并根据需要将这两种类型转换为您的类型。第一种类型将在Scala 3上提供。第二种方法是使用细化类型(但这些类型仅在外部库中可用)一般来说,这似乎是一种代码味道,列表是同质的数据结构。你能分享一下你想要解决的挑战是什么,你尝试过什么吗?我不得不说,挑战不是很好,在香草Scala中,没有“黑客”是不可能的。检查这个:如果你真的想做的话。如果可以的话,我很想看看这个挑战provided@LuisMiguelMejíaSuárez实际上,这将是一个文字类型(Scala 2.13的一部分),而不是一个精炼类型。为什么需要它?我使用Scala大约3年了,我不需要使用类似
    List[Int或String]
    (但有时我想使用
    Double或Int
    )。如果需要,可以为Int和String创建自己的类型,并将这两种类型转换为自己的类型。
    List[Any](1, 2, "Three")
    
    List[Either[Int, String]](Left(1), Left(2), Right("Three"))