代码好奇怪
vector和Vector是不同的
get方法有个int的index参数
vector1里面加入的是ListItem对象吗?
代码中没有看到vector1.addElement

解决方案 »

  1.   

    你定义的时候应将HashCode()顺手定义出来
      

  2.   

    gdsean
    你说的那些东西都做,我表述的时候没有表述清楚罢了
      

  3.   

     
     
    我这样试了试,没有问题啊?:
    // ListItem.java
    import java.io.Serializable;
    public class ListItem implements Serializable {
        private String Name = "";
        public void setName(String Temp) {
            this.Name=Temp;
        }
        public String getName() {
            return this.Name;
        }
        public String toString() {
            return Name;
        }
    }// testtest.java
    import java.util.Vector;
    public class testtest {
        public static Vector a() {
            Vector v = new Vector();
            v.add(new ListItem());
            return v;
        }
        public static void main(String[] args) throws Exception {
            Vector v = a();
            ListItem s = (ListItem)v.get(0);
            System.out.println("s: " + s);
        }
    }
     
      

  4.   

    是否是在部署的时候出现问题,重复了ListItem类?
      

  5.   

    问题在于:
    vector vector2=a();
    ListItem test=new ListItem();   //要去掉这句。
    vector2.get()没有问题。
    test=(ListItem)(vector2.get());转换类型出错误    //改为/**********************************/
    ListItem test =(ListItem)(vector2.get(i));
      

  6.   

    ListItem test=new ListItem();  //要去掉这句。
    test=(ListItem)(vector2.get(i));转换类型出错误    //改为/**********************************/
    ListItem test =(ListItem)(vector2.get(i));
    那位大哥能讲讲为什么要这样改吗?
      

  7.   

    你把1.java和2.java也全部贴出来
      

  8.   


    的确,我试过你的代码,没有问题。ListItem item = new ListItem();
    item=(ListItem)vector2.get(0);可以,你注意一下,是否下标超界?是否在你的1.java和2.java中有什么问题,事实上不管是 ListItem item=(ListItem)vector2.get(0);
    或是分两行写,应该没问题的。
      

  9.   

    谢谢大家,解决了,是打包是重复打包了ListItem类
      

  10.   

     
    Vector类在Java编程中的应用  作者: 
    Vector 类 提 供 了 实 现 可 增 长 数 组 的 功 能, 随 着 更 多 元 素 加 入 其 中, 数 组 变 的 更 大。 在 删 除 一 些 元 素 之 后, 数 组 变 小。 
    Vector 有 三 个 构 造 函 数,
    public Vector(int initialCapacity,int capacityIncrement)
                public Vector(int initialCapacity)
                public Vector()---- Vector 运 行 时 创 建 一 个 初 始 的 存 储 容 量initialCapacity, 存 储 容 量 是 以capacityIncrement 变 量 定 义 的 增 量 增 长。 初 始 的 存 储 容 量 和capacityIncrement 可 以 在Vector 的 构 造 函 数 中 定 义。 第 二 个 构 造 函 数 只 创 建 初 始 存 储 容 量。 第 三 个 构 造 函 数 既 不 指 定 初 始 的 存 储 容 量 也 不 指 定capacityIncrement。 ---- Vector 类 提 供 的 访 问 方 法 支 持 类 似 数 组 运 算 和 与Vector 大 小 相 关 的 运 算。 类 似 数 组 的 运 算 允 许 向 量 中 增 加, 删 除 和 插 入 元 素。 它 们 也 允 许 测 试 矢 量 的 内 容 和 检 索 指 定 的 元 素, 与 大 小 相 关 的 运 算 允 许 判 定 字 节 大 小 和 矢 量 中 元 素 不 数 目。 ---- 现 针 对 经 常 用 到 的 对 向 量 增, 删, 插 功 能 举 例 描 述: addElement(Object obj)   ---- 把 组 件 加 到 向 量 尾 部, 同 时 大 小 加1, 向 量 容 量 比 以 前 大1 insertElementAt(Object obj, int index)   ---- 把 组 件 加 到 所 定 索 引 处, 此 后 的 内 容 向 后 移 动1 个 单 位 setElementAt(Object obj, int index) ---- 把 组 件 加 到 所 定 索 引 处, 此 处 的 内 容 被 代 替。 ---- removeElement(Object obj) 把 向 量 中 含 有 本 组 件 内 容 移 走。 ---- removeAllElements() 把 向 量 中 所 有 组 件 移 走, 向 量 大 小 为0。 ---- 例 如:      import java.lang.System;
         import java.util.Vector;
         import java.util.Emumeration;
         public class Avector{
                     public static void main(String args[])
                        {
    0.   Vector v=new Vector(); 
    1. v.addElement("one"); 
    2. addElement("two");
    3. v.addElement("three"); 
    4. v.insertElementAt("zero",0);
    5. v.insertElementAt("oop",3);
    6. v.setElementAt("three",3);
    7. v.setElementAt("four",4);
    8. v.removeAllElements();
    }
    }
    Vector中的变化情况:
        1. one   2. one   3. one   4. zero   5.zero   6. zero    7. zero 
    8. 
                  two     two     one     one      one       one
                          three    two     two      two       two
                                  three    oop      three      three
                                          three     three      four---- 另 外,Vector 在 参 数 传 递 中 发 挥 着 举 足 轻 重 的 作 用。 ---- 在Applet 中 有 一 块 画 布(Canvas) 和 一 个(Panel), 而Panel 中 放 着 用 户 要 输 入 的 信 息, 根 据 这 些 信 息 把 参 数 传 递 到canvas 中, 这 时 在Java 中 用 一 个 接 口(Interface), 而 在 接 口 中 需 用 一 个Vector 去 传 递 这 些 参 数。 另 外, 在 一 个 类 向 另 一 个 类 参 数 传 递 就 可 以 用 这 种 方 法。 ---- 例 如: import java.util.Vector
    interface codeselect{
                     Vector codeselect=new Vector();
                 }
    显示数学信息
    Vector(0)存入学生编号
    Vector(1)存入学科---- 在Panel 中 当 用 户 在 TextField 和Choice 中 选 择 自 己 所 要 求 的 内 容, 程 序 中 ---- 通 过 事 件 响 应 把 值 传 到 向 量Vector 中。 ---- 假 若 在Panel 类 中: public void  codepanel extends Panel{
      public void init()
      { 
        **.
    TextField  s=new TextField();
    Choice c=new Choice();
    c. addItem("语文");
    c.addItem("数学");
    c.addItem("政治");
    add(s);
    add (c);
    **
    }public boolean handleEvent(Event event){
     if(event.id==Event.ACTION_EVENT){
     if(event.target.instanceof Textfield)
    {
     coderesult.setElementAt(s.getText(),0);
    }
    else if(event.target intanceof Choice)
    {
    coderesult.setElementAt(new Integer(c.getSelectedIndex()),1);
    }
    }
    }
    }---- 这 时, 向 量 中 已 经 存 入 学 生 编 号 和 学 科 索 引 号(0 为 语 文,1 为 数 学,2 为 政 治)。 ---- 而 在Canvas 中 得 到 此 值, public class codecanvas extends Canvas{
     
    public void code{
                }
    public void paint{String str;
    int t;
    str=(String)coderesult.elementAt(0);
    t=(new Integer(codeselect.elementAt(1).toString())).intValue();
    if(t==0)
    {
    显示语文信息
    }
    else if(t==1)
    {
    显示数学信息}
    else if(t==2)
    {
    显示政治信息
    }
    }
    }
    文章来自:http://www.chinajavaworld.com/
      

  11.   

    小西你那问题还没解决?
    本来Vector里面放什么,你取出来在影射回去是
    绝对没有问题的,问题出现在哪里你还得自己细心找找