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.
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<T> { private T t; public T getObj() { return t; } public void setObj(T t) { this.t = t; } }
Here
such as:
ListContainer<Dog> myCon=new ListContainer<Dog>();
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!