在Scala中,<;的Java兼容性等价物是什么;?扩展Foo>;

在Scala中,<;的Java兼容性等价物是什么;?扩展Foo>;,scala,generics,traits,Scala,Generics,Traits,我有一个java类“JavaClass”,它有一个方法: boolean addAll(java.util.Collection<? extends java.lang.Integer> collection) { ... } 不会是抽象的。但是我想不出任何方法来匹配Trait中的Java签名 FWIW。。。我正在尝试为编写一些与Scala collection兼容的高性能包装器,它避免了使用泛型来提供原语的高性能,但为每个原语类型使用了高度一致的接口。我发现,一般来说,trait

我有一个java类“JavaClass”,它有一个方法:

boolean addAll(java.util.Collection<? extends java.lang.Integer> collection) { ... }
不会是抽象的。但是我想不出任何方法来匹配Trait中的Java签名


FWIW。。。我正在尝试为编写一些与Scala collection兼容的高性能包装器,它避免了使用泛型来提供原语的高性能,但为每个原语类型使用了高度一致的接口。我发现,一般来说,traits可以很好地建模与类型无关的demi接口,但我不知道如何表达这个特定的签名——即使暂时忽略,我使用trait进行的类型抽象。

Collection
Collection
Collection
Collection动机几乎总是值得一提的@兰德尔·舒尔茨好吧,是你自找的;-)-见更新后的帖子。我用过宝藏。Scala对此的回答称为专门化,其中的
@specialized
注释用于告诉编译器为每个指定的基元类型分别创建目标实体的重载。@RandallSchulz我在几个地方读到这是不可能的,或者几乎是不可能的,有意义地@专门化Scala集合实现-不管怎样,最终都会装箱。所以我从一个不同的地方开始,看看我是否有进展。如果没有别的,我会在这过程中学到很多。动力几乎总是值得投入的@兰德尔·舒尔茨好吧,是你自找的;-)-见更新后的帖子。我用过宝藏。Scala对此的回答称为专门化,其中的
@specialized
注释用于告诉编译器为每个指定的基元类型分别创建目标实体的重载。@RandallSchulz我在几个地方读到这是不可能的,或者几乎是不可能的,有意义地@专门化Scala集合实现-不管怎样,最终都会装箱。所以我从一个不同的地方开始,看看我是否有进展。如果没有别的,我会在这过程中学到很多。动力几乎总是值得投入的@兰德尔·舒尔茨好吧,是你自找的;-)-见更新后的帖子。我用过宝藏。Scala对此的回答称为专门化,其中的
@specialized
注释用于告诉编译器为每个指定的基元类型分别创建目标实体的重载。@RandallSchulz我在几个地方读到这是不可能的,或者几乎是不可能的,有意义地@专门化Scala集合实现-不管怎样,最终都会装箱。所以我从一个不同的地方开始,看看我是否有进展。如果没有别的,我会在这过程中学到很多。动力几乎总是值得投入的@兰德尔·舒尔茨好吧,是你自找的;-)-见更新后的帖子。我用过宝藏。Scala对此的回答称为专门化,其中的
@specialized
注释用于告诉编译器为每个指定的基元类型分别创建目标实体的重载。@RandallSchulz我在几个地方读到这是不可能的,或者几乎是不可能的,有意义地@专门化Scala集合实现-不管怎样,最终都会装箱。所以我从一个不同的地方开始,看看我是否有进展。如果没有别的,我会学到很多。
def addAll[A<:java.lang.Integer](coll: java.util.Collection[A]) : Boolean
class MyClass extends JavaClass with MyTrait
Collection[T] forSome {type T <: java.lang.Integer}