gpt4 book ai didi

scala - 什么时候在Scala中使用存在类型?

转载 作者:行者123 更新时间:2023-12-04 04:32:10 24 4
gpt4 key购买 nike

给出以下方法:

def beCool[T <: S](args:Array[T]) = {}
def beCool(args:Array[T forSome {type T <:S}]) = {}

它们相等吗?你能给我一些例子,什么时候应该选哪个?

最佳答案

我想,只要您需要访问T,就需要第一个。最简单的示例是返回args的元素:

def beCool(args: Array[T forSome { type T }]): T = args.head // --> not found: type T
def beCool[T](args: Array[T]): T = args.head // ok

使用通配符时,第一个可访问类型 T的不存在更加明显:
def beCool(args: Array[_ <: S]) = ???

关于scala - 什么时候在Scala中使用存在类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com