Unchecked cast means 'although this cast is vaild, and no ClassCastException is thrown here, other point would throw ClassCastException involving using this object'. For example: public void func1() { Vector svec=new Vector(); svec.add("String"); System.out.println(func2(svec)); } public int func2(Object vec) { Vector ivec=(Vector ) vec; // unchecked cast warning at compile time Integer i=ivec.get(0); // ClassCastException thrown at runtime return i.intValue(); } ...