| Java FAQ | ||
| JSP FAQ | ||
| Servlet FAQ | ||
XyzWs Java FAQ:
How to use class literals?
Printer-friendly version |
Mail this to a friend
|
Advertisement
|
How to use class literals?Java language supports dynamic loading of classes (e.g., What does Class.forname("x") method do?). For example, you can use:
Class c = Class.forName("java.lang.String");
to retrieve a
The
public class literal {
public static void main(String args[])
{
Class c = java.lang.String.class;
Class c2 = double.class;
Class c3 = Double.TYPE;
System.out.println(c);
System.out.println(c2);
System.out.println(c3);
}
}
The class must be known at compile time otherwise a compile error is generated. The output of this program is: class java.lang.String double double
According to specification,
boolean.class == Boolean.TYPE
char.class == Character.TYPE
byte.class == Byte.TYPE
short.class == Short.TYPE
int.class == Integer.TYPE
long.class == Long.TYPE
float.class == Float.TYPE
double.class == Double.TYPE
void.class == Void.TYPE
You cannot use a variable with
class Program {
public static void main(String[] args) {
int i = 5;
String s = "Hello";
System.out.println(i.class); // compile error
System.out.println(s.class); // compile error
}
}
References15.8.2 Class LiteralsInner Classes Specification |