我有一个对象列表列表,其中第四个索引它有整数列表[1,2,3,4,5] 现在我想将列表放入逗号分隔的字符串中。 下面是我的尝试,但它给出错误,因为无法施放。
for(Object[] objArr : relationshipInfo){
if(null != objArr[4]){
String groupedItemIds = (String)objArr[4];
}
怎么做?
答案 0 :(得分:1)
请尝试以下操作: - 使用 toString()
String output = relationshipInfo.toString();
output = output.replace("[", "");
output = output.replace("]", "");
System.out.println(output);
的 [UPDATE] 强>
如果您只想要第四个对象,请尝试:
Object[] objArr = relationshipInfo.toArray();
String groupedItemIds = String.valueOf(objArr[4]);
答案 1 :(得分:0)
无法将整数数组或整数强制转换为字符串。
尝试
for(Object[] objArr : relationshipInfo){
if(null != objArr[4]){
String groupedItemIds = new String (objArr[4]); // or String.valueOf(objArr[4]);
}
<强>更新强>
如果第四个索引是一个数组,那么试试
String groupedItemIds = Arrays.asList(objArr[4]).toString();
将为您提供逗号分隔字符串
答案 2 :(得分:0)
您无法将对象强制转换为不可转换类型
for(Object[] objArr : relationshipInfo){
if(null != objArr[4]){
List<Integer> groupedItemIds = (List<Integer)objArr[4];;
//Loop over the integer list
}
答案 3 :(得分:0)
除非Object确实是String,否则不能将强制类型转换为String。相反,您可以执行以下操作 -
在其上调用toString()
。在你的班级中覆盖它。
答案 4 :(得分:0)
试试这个:
for(Object[] objArr : relationshipInfo)
{
if(null != objArr[4])
{
String groupedItemIds = String.valueOf(objArr[4]);
}
}
参考:
public static String valueOf(Object obj)
返回Object参数的字符串表示形式 Link。
使用toString()
和String.valueOf()
如果您使用toString()
对象或空值调用null
,则会获得NullPointerExcepection
,而使用String.valueOf()
则不需要检查null
1}}值。
答案 5 :(得分:0)
你想要“以逗号分隔的字符串”。所以,你迭代第四个索引并读取每个整数并执行“”+ int1 +“,”+ int2等等。你可以通过覆盖你的toString()方法来完成这个(in)..
答案 6 :(得分:0)
你可以尝试:
String groupedItemIds = Arrays.asList( objArr[4] ).toString();
这将产生:groupedItemIds = "[1,2,3,4,5]"
答案 7 :(得分:0)
看起来您使用的数组不是列表,在这种情况下您可以使用:
String groupedItemIds = java.util.Arrays.toString(objArr[4]);
答案 8 :(得分:0)
我用belwo代码解决了我的问题
byte[] groupedItemIdsArr = (byte[])objArr[4];
String groupedItemIds = new String(groupedItemIdsArr);