How to use Class<T> in Java?

In Java, the Class<T> class represents the class or interface type of a class at runtime. It can be used to get information about a class, such as its name, fields, methods, and superclass.

Here's an example of how to use Class<T> to get the name of a class:

public class Main {
  public static void main(String[] args) {
    Class<String> cls = String.class;
    String className = cls.getName();
    System.out.println(className);  // Outputs: "java.lang.String"
  }
}

You can also use Class<T> to create new instances of a class using the newInstance() method:

public class Main {
  public static void main(String[] args) {
    Class<String> cls = String.class;
    String str = cls.newInstance();
    System.out.println(str);  // Outputs: ""
  }
}

Note that the newInstance() method requires that the class has a no-arg constructor, which is a constructor that takes no arguments. If the class does not have a no-arg constructor, you can use the Constructor<T> class to get a specific constructor and use it to create a new instance of the class.

You can also use Class<T> to get the superclass of a class, get its fields and methods, and perform other reflective operations. For more information, you can check the documentation of the Class<T> class in the Java API.