float和int是简单类型,不能存放在Vector中,你可以用Float,Integer类来表示
得到的返回结果是Object,可以用类型转化得到相应的类型,如
Float float = (Float)(vector.get(0));

解决方案 »

  1.   

    如果你存进去的时候是这样的
    vector.add( index,new Float( f ) )
    那就这样取出来
    float f = ((Float)vector.get( index )).floatValue();
    一句话,就是先进行类型的转换,然后再从具体的类型里面得到需要的数值。
      

  2.   

    不能转换成float和int,只能转换成对象,如Float,Integer型。
      

  3.   

    我的程序如下:
    现在调试通过,为什么服务器端又出错,以前是没有的。import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.*;
    import java.util.*; 
    import java.lang.*;
    class Ware implements Serializable
    {
    int id;
    Vector columnHeads=new Vector();
    Vector rows=new Vector();
    }
    public class Bars
    {
    public static void main( String args[] )
    {
    Ware data;
    data=new Ware();
    Vector col=new Vector();
            Vector row=new Vector();
    try
    {
    data.id=1;
    Socket toServer;
    toServer = new Socket("127.0.0.1",1001);
    ObjectOutputStream streamToServer=new ObjectOutputStream(toServer.getOutputStream());
    streamToServer.writeObject((Ware)data);

    Ware r2,r;
    r=new Ware();
    ObjectInputStream streamFromServer=new ObjectInputStream(toServer.getInputStream());
    r2=(Ware)streamFromServer.readObject();
    col=r2.columnHeads;
    row=r2.rows;
    }
    catch(Exception ev)
    {
           System.out.println("Cannot write to the server"+ev);
    }
    int a=row.size();
    //float Data[]=new float[a];
    //Integer.toHexString
    Float b = (Float)(row.get(1));
    System.out.println(a);

    }
    }
      

  4.   

    给你写了一个例子,看看吧。
    import java.util.*;
     public  class  C   
        public static void main (String args[])
        {
            Float f = new Float(1.2);
            Integer i = new Integer(3);
            Vector v = new Vector();
            v.add(f);
            v.add(i);
            for(int k= 0; k < v.size(); k ++){
                Object obj = v.get(k);
                if(obj instanceof Float){
                    Float float_ = (Float)obj;
                    float f_ = float_.floatValue();
                }else if(obj instanceof Integer){
                    Integer int_ = (Integer)obj;
                    int i_ = int_.intValue();
                }else{
                    //do nothing
                }
            }      }
    }
      

  5.   

    运行是错误:
    Exception in thread "main" java.long.ClassCastException:java.util.Vector
    如何处理
      

  6.   

    仔细看看《Java 编程思想》,里面有详细的例子。
      

  7.   

    运行是错误:
    Exception in thread "main" java.long.ClassCastException:java.util.Vector
    如何处理这是类型转换错误
    在强制类型转换之前,加上
    if(v instanceof Vector)
      

  8.   

    我的程序虽然没有解决,但是基本的问题我已经弄明白。
    我的原因是:从服务器端传过来的vector类型中假如的仍然是vector类型的数据,经过我的调试已经可以运行了。
    if(obj instanceof Float)
    {    Float float_ = (Float)obj;
         float f_ = float_.floatValue();
         }
    else if(obj instanceof Integer)
    {
    Integer int_ = (Integer)obj;
    int i_ = int_.intValue();
         else{
                    //do nothing
                }
    这几句也很重要,要不然会出错误的。特别感谢wanglh2000给出的例子,是我受益非浅。
    也感谢大家的支持。