Type
A type is a set of values supporting a certain set of operations.
Closest Wikipedia entry: Type system
Misconceptions about Type37 documented Misconceptions
Check YourselfArrayElementTypeRepeats — Java
The type of a multi-dimensional array is written as T[] T[] T[]
ArrayElementsUntyped — Java
Elements of arrays are untyped
ArrayLengthPartOfType — Java
The length of an array is part of its type
ArrayRankNotPartOfType — Java
The rank of an array is not part of its type
CharNotNumeric — Java
Char is not a numeric type
CompositeExpressionsUntyped — Java
Expressions that consist of multiple parts have no type
ExpressionsDynamicallyTyped — Java
One has to evaluate an expression to determine its type
IntegerDivisionToRational — Java
Dividing two integers can produce a rational number
LargeIntegerLong — Java
Large integer numbers have type long
MethodWithoutReturnType — Java
A method declaration does not need to include a return type
NamedTypeParameter — Java
To instantiate a generic type, for each type parameter one has to specify both the name and the type
NoCastIfSameSize — Java
If a variable is at least as big (bit-width) as a value, then no cast is needed to a assign the value to the variable
NoFloatLiterals — Java
There are no float literals
NoImplicitWidening — Java
Smaller types are never automatically converted into bigger ones without an explicit cast
NoLongLiterals — Java
There are no long literals
NumericToBooleanCoercion — Java
Numeric types can be coerced to boolean
PrimitiveTypeParameter — Java
Type parameters of generic types can be instantiated with primitive types
PrimitiveVariablesDynamicallyTyped — Java
The type of a primitive variable depends on its value
RecursiveMethodImpliesRecursiveType — Java
A class with a recursive method represents part of a recursive data structure
ReferenceToBooleanCoercion — Java
Every reference type can be coerced to boolean
ReferenceToIntegerConversion — Java
One can cast between references and ints
StaticCallPolymorphic — Java
A static method call is dispatched polymorphically at runtime based on the argument types
SubtypeCompatibleWithSupertype — Java
A variable of a subtype can reference an object of a supertype
SupertypeIncompatibleWithSubtype — Java
A variable of a supertype cannot reference an object of a subtype
TargetTyping — Java
The type of a numerical expression depends on the type expected by the surrounding context
UntypedVariables — Java
Variable declarations don't need a type
UseOfSelfTypeImpliesRecursiveType — Java
If a class has a method that has a local variable, parameter, or return value with the class as its type, the class is a recursive type
VoidMethodNotRecursive — Java
A method with void return type can't be recursive
VoidMethodReturnsValue — Java
A method with void return type can return a value
CharType — JavaScript
A single character is of type char
ClassDefinesType — JavaScript
The type of an object is equivalent to the type defined by its class definition
EqualityOperatorComparesOnlyTypes — JavaScript
The equality operator '==' compares only the types of the operands
NullAndUndefinedAreTheSame — JavaScript
The values null and undefined are the same
TypeofArrayIsArray — JavaScript
The typeof operator applied on an array returns 'array'
TypeofNullIsNull — JavaScript
The value null is of type 'null'
EqualityOperatorComparesOnlyTypes — Scratch
() = () compares only the types of its operands
ListsHomogeneous — Scratch
All items in a list must have the same type