我想在对象是这样的数组时将Object转换为String
public void convertValue(Object value) {
if(value.getClass().isArray()){
Arrays.deepToString(value.toArray());
}
}
Run Code Online (Sandbox Code Playgroud)
我如何投入价值来制作"value.toArray()"?
如果你只是要处理的对象数组(不是原始的数组),你可以只投来Object[],由于阵列方差:
if (value instanceof Object[]) {
String text = Arrays.deepToString((Object[]) value);
...
}
Run Code Online (Sandbox Code Playgroud)
当然,对于原始数组,你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());
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,该array值仍然引用字符串数组 - 但String[]可以将引用分配给Object[]变量.
| 归档时间: |
|
| 查看次数: |
6113 次 |
| 最近记录: |