首页 > java > java Vector.toArray 与强制类型转换

java Vector.toArray 与强制类型转换

2007年6月11日 发表评论 阅读评论

public String[] getPlatformIDList()
{
Vector result = new Vector();
try
{
Statement stmt = conn.createStatement();
String sql = “SELECT PlatformID FROM Platform”;
rs = stmt.executeQuery(sql);
while(rs.next())
{
result.add(rs.getString(1));
}
if (result.size() > 0)
{
String[] str = (String[]) result.toArray(); // 出现ClassCastException
return str;
}
else
return null;
}
catch(Exception e)
{
System.err.println(e);
return null;
}
finally
{
try
{
rs.close();
conn.close();
}
catch(Exception e2)
{}
}
}


发现不能将Vector类经过toArray()方法得到的Object[]直接转换成String[],找到用另一个带有参数的 toArray(T[] a)方法才可以。


将该语句改为:


String[] str = (String[]) result.toArray(new String[1]);


即告诉Vector,我要得到的数组的类型。


回想一下,应该是java中的强制类型转换只是针对单个对象的,想要偷懒,将整个数组转换成另外一种类型的数组是不行的。

相关文章:

  1. java Integer比较的妙用
  2. JAVA、JSP中获得URL地址
  3. JAVA Calendar方法详解
  4. java 计算时间差
  5. Java Annotation入门
分类: java 标签: 30 次阅读
原文链接:http://www.wenhq.com/article/view_43.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.