如何将List<Object[]>转换为可逐个打印的字符串数组?
解决List<Object[]>转字符串数组的问题
你看到的[Ljava.lang.Object;@c7b901是Object数组的默认toString输出——这说明你直接把List中的Object[]元素当成了整体处理,没有将数组内的每个元素转换为字符串。
解决方案
根据你的需求,分两种场景处理:
- 将所有元素平铺为一维字符串数组
// 假设objList是你的查询返回结果 List<Object[]> objList = yourQueryResult(); List<String> tempList = new ArrayList<>(); for (Object[] objArray : objList) { for (Object item : objArray) { // 处理null值,避免空指针异常 tempList.add(item != null ? item.toString() : ""); } } // 转换为一维字符串数组 String[] stringArray = tempList.toArray(new String[0]);
- 转换为二维字符串数组(保留原List的数组结构)
List<Object[]> objList = yourQueryResult(); String[][] stringArray = new String[objList.size()][]; for (int i = 0; i < objList.size(); i++) { Object[] objArray = objList.get(i); stringArray[i] = new String[objArray.length]; for (int j = 0; j < objArray.length; j++) { stringArray[i][j] = objArray[j] != null ? objArray[j].toString() : ""; } }
关键注意点
- 必须遍历每个
Object[]内的元素,调用toString()完成转换,而不是直接转换整个数组对象 - 建议为自定义类重写
toString()方法,这样转换后的字符串会更符合业务预期 - 一定要处理
null值,避免运行时抛出空指针异常
内容的提问来源于stack exchange,提问作者Johny Leo
相关产品推荐
相关产品推荐

