O'Reilly logo

Programmieren mit Scala by Alex Payne, Dean Wampler

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Typgrenzen

Wenn man einen parametrisierten Typ oder eine parametrisierte Methode definiert, kann es notwendig sein, Begrenzungen (bounds) für den Typ anzugeben. Beispielsweise kann ein parametrisierter Typ annehmen, dass ein bestimmter Typparameter über bestimmte Methoden verfügt.

Typobergrenzen

Betrachten wir die überladenen apply-Methoden in object scala.Array, mit denen man neue Arrays anlegen kann. Dazu gibt es optimierte Implementierungen für alle AnyVal-Typen. Und es gibt eine weitere Implementierung von apply, die für jeden Typ parametrisiert ist, der ein Subtyp von AnyRef ist. Hier suchen Sie die Implementierung in der Scala-Bibliothek:[5]

object Array {
  ...
  def apply[A <: AnyRef](xs: A*): Array[A] = {
    val array = new Array[A](xs.length) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required