后台查询出来的是一个List(String , Object) 集合,集合里面有(String,String)、(String,Integer)、(String,Date),
请问怎么统一转为List(String,String)?
自己循环遍历进行转换吧,这个强制转换要报异常的……
以下僅供參考。 建議可以的話,在SQL裏事前轉換好。直接傳String類型的結果給Java。
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class OSI {
public static void main(String[] args) {
Date d = new Date();
int i = 0;
String s = "a";
List<Object> l = new ArrayList<Object>();
l.add(d);
l.add(i);
l.add(s);
List<String> l2 = new ArrayList<String>();
for(int j = 0;j<l.size();j++){
Object o = l.get(j);
if(o instanceof Integer){
l2.add(String.valueOf(o));
} else if(o instanceof Date){
l2.add(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format((Date)o));
} else {
l2.add((String)o);
}
}
for(int k = 0;k<l2.size();k++){
System.out.println(l2.get(k));
}
}
}
这个不可以直接转,设想一下:如果是object中的数据有一个类型是Map的话,你转String的时候会不会报错。所以要获取之后再转
小转大直接转,大转小要强转