The <> in java refers to generics. It was only started to be used in Java 5, and 1-4 are not supported. Mainly used to specify the data types that appear in the collection! For example: a bowl can hold many kinds of food, and if you add a generic type, such as "noodles", then this bowl can only hold food like "noodles"!
Example:
1. Generic type parameters 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
5. The parameter type of a generic type can also be a wildcard type.
For example: Class> classType = Class.forName("java.lang.String");
Generics also have interfaces, methods, etc. There is a lot of content and it takes a while It takes a lot of effort to understand and apply it skillfully.
Here are two examples I wrote when I learned about generics (written based on my impressions) to achieve the same function. One uses generics and the other does not. Through comparison, you can I quickly learned the application of generics. After learning this, I basically learned 70% of the content of generics.
Example 1: Using generics
public class Gen
public Gen(T ob) { this.ob = ob; }
public T getOb() {return ob;}
public void setOb(T ob) {this.ob = ob;}
public void showType() {System.out.println("The actual type of T is: " ob.getClass().getName());}}
public class GenDemo {public static void main(String[] args){//Define an Integer version of the generic class Gen
Gen
intOb. showType();
int i= intOb.getOb();
System.out.println("value= " i);
System.out.println( "----------------------------------");
//Define generic class A String version of Gen
Gen
strOb.showType();
String s =strOb.getOb();
System.out.println("value= " s);}}
Example 2: Generics are not used
public class Gen2 {private Object ob; //Define a general type member
public Gen2(Object ob) {this.ob = ob;}
public Object getOb() { return ob;}
public void setOb(Object ob) {this.ob = ob;}
public void showTyep() {System.out.println("The actual type of T is: " ob.getClass().getName());}}
public class GenDemo2 {public static void main(String[] args) { //Define an Integer version of class Gen2
Gen2 intOb = new Gen2(new Integer(88));
intOb.showTyep();
int i = (Integer) intOb.getOb();
System .out.println("value= " i);
System.out.println("------------------------ --------");
//Define a String version of class Gen2
Gen2 strOb = new Gen2("Hello Gen!");
strOb.showTyep();
String s = (String) strOb.getOb();
System.out.println("value= " s);}}
Running results:
The two examples run the Demo and the results are the same. The console output is as follows:
The actual type of T is:
java.lang.Integer
value= 88
----------------------------------
The actual type of T is: java.lang.String
value= Hello Gen!
Process finished with exit code 0
Understand this, in the future Basic generic applications and code reading are no problem.
For more free Java introductory tutorials, please visit the PHP Chinese website.
The above is the detailed content of What does <> mean in java. For more information, please follow other related articles on the PHP Chinese website!