从Object获取String,这是一个char数组(不是Object [])

时间:2016-06-13 16:24:01

标签: java

这不重复,请阅读问题并了解我有一个对象(一个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[]开头就不会有问题。

1 个答案:

答案 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}}。