写了两个aglet,报了个莫名的错。。
public class TestA extends Aglet{
public void run()
{
Vector a = new Vector(); a.add("atp://localhost:1234");
a.add(new QueryTask("atp://localhost:4434","a","select * from student")); this.getAgletContext().createAglet(null, "TestB", a);
}
}
public class TestB extends Aglet{
public void onCreation(Object init) {
Vector taskList = (Vector) init;
String domain = (String) taskList.elementAt(0);
QueryTask next = (QueryTask) taskList.elementAt(1);
}
}编译通过了,在Tahiti运行时报下面的错
java.lang.ClassCastException: FirE.QueryTask
它说QueryTask next = (QueryTask) taskList.elementAt(1);这句话的类型转换有问题。。
可以看了很久没发现有错误啊。。
我 System.out.println(taskList.elementAt(1));
看到的是 FirE.QueryTask@*****.......
请高人指导啊
public class TestA extends Aglet{
public void run()
{
Vector a = new Vector(); a.add("atp://localhost:1234");
a.add(new QueryTask("atp://localhost:4434","a","select * from student")); this.getAgletContext().createAglet(null, "TestB", a);
}
}
public class TestB extends Aglet{
public void onCreation(Object init) {
Vector taskList = (Vector) init;
String domain = (String) taskList.elementAt(0);
QueryTask next = (QueryTask) taskList.elementAt(1);
}
}编译通过了,在Tahiti运行时报下面的错
java.lang.ClassCastException: FirE.QueryTask
它说QueryTask next = (QueryTask) taskList.elementAt(1);这句话的类型转换有问题。。
可以看了很久没发现有错误啊。。
我 System.out.println(taskList.elementAt(1));
看到的是 FirE.QueryTask@*****.......
请高人指导啊
这个加的是 字符串吧
taskList.elementAt()的返回对象是不是转换一下再输出其属性啊。呵呵
public void onCreation(Object init) {
你能确定Object传进来的就是那个Vector
to Sunny_Good ....编译就提示返回Object,不类型转换编译就出错to lzrzhao。上面只是整个程序的一小部分,我是想用到Vector里的QueryTask来初始话TestB的,
可是就是类型转换不了。。
QueryTask kkk = new QueryTask("atp://localhost:4434","a","select * from student");System.out.println(taskList.elementAt(1).getclass());
System.out.println(kkk.getclass());输出结果是:
class FirE.QueryTask
class FirE.QueryTask 这就彻底不明白了还有public class QueryTask implements Serializable{}
QueryTask 里也定义了serialVersionUID,不知道是否有影响
望高人指教啊
你检查一下你的Import
我检查了一下,我自己建的两个包的确有一对同名的类,之后就改名了,已经确保自己建的两个包没有同名的类了,
可是还是报错我快被它逼疯了