这不重复,请阅读问题并了解我有一个对象(不一个char [],不一个Object [],但一个对象)
public String getStringFromObject(Object o){
// What do I do here to get a String? o is actually a char[]
}
我有一个代表字符数组的java Object:
我将Object cred
传递给方法
L.info("Credentials component type is {} and is array -> {}",
cred.getClass().getComponentType(), cred.getClass().isArray());
打印:Token's credentials are: [s, d, f] and type is [C
如何将其变为字符串?我无法弄清楚如何将Object转换为任何类型的[]
数组。如果Object[]
开头就不会有问题。
答案 0 :(得分:4)
如果您有char[]
,并且想要将其转换为String
,只需使用constructor
public String(char[] value)
来自javadoc:
分配一个新字符串,使表示当前包含在字符数组参数中的字符序列。复制字符数组的内容;后续修改字符数组不会影响新创建的字符串。
请注意
如果您的Object
char[]
是char[] x = ....;
Object objectIsACharArray = x;
String s = new String((char[]) x);
,那么这就是您所拥有的:
Object
如果char[]
不是String
,而是代表或保存字符数组,则需要使用自定义代码将其转换为{{1}}。