How do I return a Vector java
How do I return a vector in a java function. I want to unserialize a vector loaded from a file and return in a function but I get errors. This is what code I currently have.
private static Vector<Countries> loadOB(String sFname) throws ClassNotFoundException, IOException {
ObjectInputStream oStream = new ObjectInputStream(new FileInputStream(sFname));
Object object开发者_开发问答 = oStream.readObject();
oStream.close();
return object;
}
You need to cast the object that you read from the file to Vector:
private static Vector<Countries> loadOB(String sFname) throws ClassNotFoundException, IOException {
ObjectInputStream oStream = new ObjectInputStream(new FileInputStream(sFname));
try{
Object object = oStream.readObject();
if (object instanceof Vector)
return (Vector<Countries>) object;
throw new IllegalArgumentException("not a Vector in "+sFname);
}finally{
oStream.close();
}
}
Note that you cannot check if it is really a Vector of Countries (short of checking the contents one by one).
This is a wild guess, but try return (Vector<Countries>) object;
精彩评论