Haxe泛型 - 花括号作为约束

loo*_*awa 2 generics haxe

空花括号约束意味着什么?例如(取自Map 的ObjectMap实现):

extern class ObjectMap < K: { }, V > implements Map.IMap<K,V> {
...
Run Code Online (Sandbox Code Playgroud)

Jas*_*eil 6

{}匹配任何对象的类型参数.这包括类实例,匿名对象等,但不包括Ints,Floats,Bools和其他基本类型.

Dynamic另一方面,类型参数匹配对象和int,浮点数,bools等.

(请注意:正如@ back2dos指出的那样,String计为类实例,因此将满足类型约束{})

  • 旁注:不幸的是`{}`包含字符串,因为它们实际上是类实例. (2认同)