从类型名中获取类名可以通过反射机制来实现。在Java语言中,可以使用Class类的getName()方法来获取类的完整名称,然后通过字符串处理的方式截取出类名部分。
以下是一个示例代码:
public class ClassNameExtractor {
public static String extractClassName(Object obj) {
Class<?> clazz = obj.getClass();
String className = clazz.getName();
int lastIndex = className.lastIndexOf('.');
if (lastIndex != -1) {
className = className.substring(lastIndex + 1);
}
return className;
}
}
使用示例:
public class Main {
public static void main(String[] args) {
String className = ClassNameExtractor.extractClassName(new MyClass());
System.out.println(className);
}
}
class MyClass {
// 类的定义
}
输出结果为:
MyClass
在这个示例中,通过传入一个对象实例,利用反射获取到该对象的Class对象,然后使用getName()方法获取类的完整名称。接着,通过字符串处理的方式截取出类名部分,即可得到类名。
这种方式可以用于动态获取类名,适用于需要根据类名进行一些动态操作的场景,例如根据类名实例化对象、根据类名调用方法等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云