求指教。。我想用zb()这个函数 ,将Vector里的对象Object转化成int型的。该怎么做啊?
import java.applet.*;
 import java.awt.*;
import java.util.Vector;
public class test5 {
public  int zb( Object ss){return Integer.parseInt((String)ss);}
 
public static void main(String[] args) {
 Vector X1=new Vector();
 
 for(int i=0;i<5;i++){
X1.addElement(i);
}

for(int i=1;i<5;i++){
int a=0;
System.out.println(zb(X1.elementAt(i)));//这里有问题
if(X1.elementAt(i).equals(2)){System.out.println("ca ");}
} }}

解决方案 »

  1.   

    Integer.parseInt((String)ss)==》Integer.parseInt(ss.toString())
      

  2.   

    第一个zb是实例方法,不能在静态方法里面直接用,所以编译会报错,要先new一个对象,然后再调用这个对象的zb方法
    第二个是jdk5之后有自动封装拆装的特性
    直接
    public static int zb( Object ss){return (Integer)ss;}
    就可以,如果用泛型,你这个zb方法就根本没必要了
      

  3.   

    public static int zb( Object ss){return (Integer)ss;}
    是对的耶 谢谢啦!不过自动封装拆装的特性?啥么意思? 还有 你说的先new个对象的话 怎么写?new a=0;
    然后 调用a.zb(ss);?
      

  4.   

    1.就是java虚拟机会自动的帮你把原生数据类型包装成对应的包装类。如:在1.4之前,你要弄一个4的对象,
      new Integer(4).拆箱刚好倒过来啦。2.为什么有new一个对象才能调用你的zb方法,是因为你的main方法是静态的,它不能直接调用非静态的成员的。需要对象才能调用。new test5()就可以了。