Generics

suggest change

Syntax

Remarks

The generic parameters are not available at runtime, they are just for the compile time. This means you can’t do something like this:

class Executor<T, U> {
    public execute(executable: T): void {
        if (T instanceof Executable1) {    // Compilation error
            ...
        } else if (U instanceof Executable2){    // Compilation error
            ...
        }
    }
}

However, class information is still preserved, so you can still test for the type of a variable as you have always been able to:

class Executor<T, U> {
    public execute(executable: T): void {
        if (executable instanceof Executable1) {
            ...
        } else if (executable instanceof Executable2){
            ...
        } // But in this method, since there is no parameter of type `U` it is non-sensical to ask about U's "type"
    }
}

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents