【问题标题】:Convert Object to String when object is array (java)当对象是数组时将对象转换为字符串(java)
【发布时间】:2013-02-12 08:23:32
【问题描述】:

当对象是数组时,我想将对象转换为字符串 看到这样

    public void convertValue(Object value) {

    if(value.getClass().isArray()){
        Arrays.deepToString(value.toArray());
    }

}

我如何将值转换为“value.toArray()”?

【问题讨论】:

标签: java arrays


【解决方案1】:

如果您想要处理对象数组(不是原始数组),您可以直接转换为 Object[],因为数组差异:

if (value instanceof Object[]) {
    String text = Arrays.deepToString((Object[]) value);
    ...
}

当然,对于原始数组,您无论如何都不能调用deepToString

演示数组方差的示例代码:

public class Test {

    public static void main(String[] args) {
        Object x = new String[] { "Hello", "there" };
        Object[] array = (String[]) x;
        // Prints "class [Ljava.lang.String;"
        System.out.println(array.getClass()); 
    }
}

如您所见,array 值仍然引用字符串数组 - 但可以将 String[] 引用分配给 Object[] 变量。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多