The Class.getComponentType()
method call returns the Class
representing the component type of array. If this class does not represent an array class this method returns null
reference instead.
package org.kodejava.lang.reflect;
public class ComponentTypeDemo {
public static void main(String[] args) {
String[] words = {"and", "the"};
int[][] matrix = {{1, 1}, {2, 1}};
Double number = 10.0;
Class<?> clazz = words.getClass();
Class<?> cls = matrix.getClass();
Class<?> clz = number.getClass();
// Gets the type of array component.
Class<?> type = clazz.getComponentType();
System.out.println("Words type: " +
type.getCanonicalName());
// Gets the type of array component.
Class<?> matrixType = cls.getComponentType();
System.out.println("Matrix type: " +
matrixType.getCanonicalName());
// It will return null if the class doesn't represent
// an array.
Class<?> numberType = clz.getComponentType();
if (numberType != null) {
System.out.println("Number type: " +
numberType.getCanonicalName());
} else {
System.out.println(number.getClass().getName() +
" class is not an array");
}
}
}
This program print the following output:
Words type: java.lang.String
Matrix type: int[]
java.lang.Double class is not an array
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024