Vector的问题 代码好奇怪vector和Vector是不同的get方法有个int的index参数vector1里面加入的是ListItem对象吗?代码中没有看到vector1.addElement 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你定义的时候应将HashCode()顺手定义出来 gdsean你说的那些东西都做,我表述的时候没有表述清楚罢了 我这样试了试,没有问题啊?:// ListItem.javaimport 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.javaimport 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); }} 是否是在部署的时候出现问题,重复了ListItem类? 问题在于:vector vector2=a();ListItem test=new ListItem(); //要去掉这句。vector2.get()没有问题。test=(ListItem)(vector2.get());转换类型出错误 //改为/**********************************/ListItem test =(ListItem)(vector2.get(i)); ListItem test=new ListItem(); //要去掉这句。test=(ListItem)(vector2.get(i));转换类型出错误 //改为/**********************************/ListItem test =(ListItem)(vector2.get(i));那位大哥能讲讲为什么要这样改吗? 你把1.java和2.java也全部贴出来 的确,我试过你的代码,没有问题。ListItem item = new ListItem();item=(ListItem)vector2.get(0);可以,你注意一下,是否下标超界?是否在你的1.java和2.java中有什么问题,事实上不管是 ListItem item=(ListItem)vector2.get(0);或是分两行写,应该没问题的。 谢谢大家,解决了,是打包是重复打包了ListItem类 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.Vectorinterface 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/ 小西你那问题还没解决?本来Vector里面放什么,你取出来在影射回去是绝对没有问题的,问题出现在哪里你还得自己细心找找 用java解析sql语句 怎么得到类型参数的名字 编程题 求救 请教swing问题:如何能让table中的表格在内容超出表格宽度时,自动换行,并完全显示出来??? JDBC连接oracle的问题! 求一个排序的算法 如何校验两个文件是否一致? Java中类是如何初始化运行的? 送分:基础问题,这一行代码什么意思? 一个frame怎样置入一张图片做背景呢? 为什么会产生这样的错误呢? 在Applet中打开另外的网页,用getAppletContext().showDocument(URL,windowname)的问题
你说的那些东西都做,我表述的时候没有表述清楚罢了
我这样试了试,没有问题啊?:
// 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);
}
}
vector vector2=a();
ListItem test=new ListItem(); //要去掉这句。
vector2.get()没有问题。
test=(ListItem)(vector2.get());转换类型出错误 //改为/**********************************/
ListItem test =(ListItem)(vector2.get(i));
test=(ListItem)(vector2.get(i));转换类型出错误 //改为/**********************************/
ListItem test =(ListItem)(vector2.get(i));
那位大哥能讲讲为什么要这样改吗?
的确,我试过你的代码,没有问题。ListItem item = new ListItem();
item=(ListItem)vector2.get(0);可以,你注意一下,是否下标超界?是否在你的1.java和2.java中有什么问题,事实上不管是 ListItem item=(ListItem)vector2.get(0);
或是分两行写,应该没问题的。
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/
本来Vector里面放什么,你取出来在影射回去是
绝对没有问题的,问题出现在哪里你还得自己细心找找