Java中如何将Class数据类型数组转换为String数组?
Class数组转String数组实现方案
首先明确:这种转换完全可以实现,且不需要使用parse类方法。
parse类方法的作用是将字符串内容解析为对应类型的对象(例如Integer.parseInt()用于把字符串转整数),和当前「把Class对象转为字符串」的需求方向相反,因此无需使用。
具体实现逻辑
java.lang.Class本身内置了三种获取字符串形式的方法,你可以根据需求选择:
- 用
getName():获取类的全限定名,例如String.class.getName()会返回"java.lang.String",适合需要完整类路径的场景 - 用
getSimpleName():仅获取类的短名称,例如String.class.getSimpleName()会返回"String",适合只需要类名的场景 - 用默认
toString():返回带类型前缀的完整标识,例如String.class.toString()会返回"class java.lang.String",接口类会返回interface前缀
代码示例
普通写法(兼容所有Java版本)
Class[] array = {String.class, Integer.class, Boolean.class}; String[] stringArray = new String[array.length]; for (int i = 0; i < array.length; i++) { // 可根据需求替换为getSimpleName()/toString() stringArray[i] = array[i].getName(); }
Java 8+ 流式简化写法
import java.util.Arrays; // ... String[] stringArray = Arrays.stream(array) .map(Class::getName) .toArray(String[]::new);
内容的提问来源于stack exchange,提问作者toxette
相关产品推荐
相关产品推荐

