はのは、私は一般的なクラスがあるとしましょう:もちろん一般的な境界
class OrderedArray<T>(
private val items: Array<T>,
private val comparator: Comparator<in T>
) {
constructor(items: Array<T>) : this(items, naturalOrder<T>())
}
T
が必ずしも同等ではないとして、このコードはコンパイルされません。コンストラクタ上の型のジェネリックパラメータを束縛する言語構造が利用可能ですか?自然順序付けが可能なときに、コンパレータを明示的に渡すことなくクラスのインスタンスを構築する方法を教えてください。
私のクラスは、匹敵していないT-sでもうまく働きたいと思っています。もちろん、これらのケースでは明示的なコンパレータを提供する必要があります。 –