-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Professional Scala
By :
In this section, we'll look at different types and polymorphism. We'll start with the unified type system of Scala and end with existential types.
Scala has a unified
type system. What this
means is that all types, including "primitive" types, inherit from
a common type.
Any is a supertype of all types. It is often
called the top type, and defines universal
methods such as
equals,
hashCode, and
toString.
Nothing is
a subtype of all types, and is often called the
bottom type. There is no value that has a type of
Nothing, so a common use case for it is to signal non-termination: a thrown exception, a program exit, or an infinite loop.
Any has two direct subclasses:
AnyVal and
AnyRef. Value types are represented by
AnyVal. AnyRef
represents the reference types. There are
nine
non-nullable predefined value types:
Double,
Float,
Long,
Boolean,
Unit,
Byte,
Char,
Short, and
Int. All of these types are similar in other...
Change the font size
Change margin width
Change background colour