Home > Java > javaTutorial > Why does Java use scope (generic) types?

Why does Java use scope (generic) types?

little bottle
Release: 2019-05-29 11:53:40
Original
3576 people have browsed it

What are generics? Generics refer to the ability to parameterize types. You can define a class or method with a generic type, and then the compiler will replace it with a concrete type.

Why does Java use scope (generic) types?

Advantages of using generics

The advantage of introducing generics into the Java language is safety and simplicity. The advantage of generics is that type safety is checked during compilation, and all casts are automatic and implicit, improving code reuse.

In detail:

1. Type safety.

The main goal of generics is to improve the type safety of Java programs. By knowing the type restrictions of variables defined using generics, the compiler can verify type assumptions to a much higher degree. Without generics, these assumptions exist only in the programmer's mind (or, if you're lucky, in code comments).

2, Eliminate forced type conversion.

A side benefit of generics is the elimination of many casts in the source code. This makes the code more readable and reduces the chance of errors.

3. Potential performance gains.

Generics bring the possibility of greater optimization. In the initial implementation of generics, the compiler inserts casts (without generics, the programmer would specify these casts) into the generated bytecode. But the fact that more type information is available to the compiler opens up the possibility of optimizations in future versions of the JVM. Because of the way generics are implemented, supporting generics requires (almost) no JVM or class file changes. All the work is done in the compiler, which generates code similar to what you would write without generics (and casts), only more type-safe.

Some rules and restrictions on using generics

1. The type parameters of generics can only be class types (including custom classes), not simple types.

2. The same generic type can correspond to multiple versions (because the parameter type is uncertain), and different versions of generic class instances are incompatible.

3. Generics can have multiple type parameters.

4. Generic parameter types can use the extends statement, such as . Customarily become "bounded types".

5. The parameter type of a generic type can also be a wildcard type. For example Class classType = Class.forName(Java.lang.String);

The above is the detailed content of Why does Java use scope (generic) types?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
Statement of this Website
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
Latest Articles by Author
Latest Issues
Install JAVA
From 1970-01-01 08:00:00
0
0
0
Unable to install java
From 1970-01-01 08:00:00
0
0
0
Can java be used as the backend of the web?
From 1970-01-01 08:00:00
0
0
0
Is this in Java language?
From 1970-01-01 08:00:00
0
0
0
Help: JAVA encrypted data PHP decryption
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template