Home  >  Article  >  Java  >  What is the role of java generics

What is the role of java generics

(*-*)浩
(*-*)浩Original
2019-05-25 13:28:526079browse

The goal of implementing the generic mechanism in Java is to advance the timing of bug discovery to the source code when programming, rather than runtime. If bugs can be found at compile time, you can save a lot of time debugging Java programs, because compilation errors can be discovered and repaired easier and faster. Moreover, generics only exist at compile time. This fact is also the most important fact that we must remember when learning Java generics.

What is the role of java generics

The functions of generics are:
Type parameterization means that the type can be passed like a method parameter. This is significant.
Generics allow the compiler to check types during compilation to improve type safety and reduce exceptions caused by object type mismatches at runtime.

For example:

public class ListContainer {
    private T t;
 
    public T getObj() {
        return t;
    }
    public void setObj(T t) {
        this.t = t;
    }
}

Here is a parameter of type T. What type does T refer to specifically, whether it is String, Animal or Dog type, it doesn’t matter here. , and then specify it when the programmer uses ListContainer during development,

such as:

ListContainer myCon=new ListContainer();

In this environment, the compiler will know that the ListContainer container is Put Dog type objects. and do type safety checks.

myCon.setObj(new Dog())//ok
myCon.setObj(“123”);//编译时提醒类型错误

When a container designed in this way is used, the compiler can help do a large part of the type safety checking work. This avoids many ClassCastException exceptions at runtime and programmers do not need to remember various objects. types and worry about type matching issues. At the same time, in most cases there is no need to do type coercion.

The above is the detailed content of What is the role of java generics. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn