ArrayClassServiceImpl.java
package space.sunqian.common.reflect;
import space.sunqian.annotations.Nonnull;
import space.sunqian.annotations.Nullable;
import java.lang.reflect.Type;
enum ArrayClassServiceImpl implements ArrayClassService {
INST;
@Override
public @Nullable Class<?> arrayClass(@Nonnull Type componentType) {
Class<?> componentClass = TypeKit.toRuntimeClass(componentType);
if (componentClass == null) {
return null;
}
String name = ClassKit.arrayClassName(componentClass);
if (name == null) {
return null;
}
return ClassKit.classForName(name, componentClass.getClassLoader());
}
}