小弟不才,想举个例子提供大家使用,有两种方法: 第一种: class C { } class B { C c=new C(); } class A { B b=new B() b.c.xxx()//调用类B中已经创建的C对象的函数 } 第二种方法: class C { } class B { C c=new C(); A a=new A(); void SetHandle() { a.b=this; } main()//简单略写。 { setHandle() } } class A { B b;//不用建立对象 } 之后可以在A中访问C了。 利用b.c就可以了。
那就是你的vertor中根本没有取到值,不过按理应该出错哦
for ( int i= 0 ;i<Vector.size();i++){ String l=(String )datapool.elementAt(i); }
improt xxx.xxx.B;
xxx.xxx为B类所在的包
比如:
string s="ssss";
vector datapool=new vector();
datapool.add(s);
String l=(String )datapool.elementAt(i);
System.out.println(l);
结果是:null;
这是怎么回事?应该怎么办?
第一种:
class C
{
}
class B
{
C c=new C();
}
class A
{
B b=new B()
b.c.xxx()//调用类B中已经创建的C对象的函数
}
第二种方法:
class C
{
}
class B
{
C c=new C();
A a=new A();
void SetHandle()
{
a.b=this;
}
main()//简单略写。
{
setHandle()
}
}
class A
{
B b;//不用建立对象
}
之后可以在A中访问C了。
利用b.c就可以了。
String l=(String )datapool.elementAt(i);
}
不行,再把String l=(String )datapool.elementAt(i);改成String l=(String )datapool.get(i);试试
我用的是while(i<1000) {
.....
i++;
}
不知道可以吗?
import B;
在A的构造器中
public A (){
B b = new B();
}
以后你就可以用b直接调用B的方法
还是不行:(
{ public static void main(String args[])
{String s="ssss";
Vector datapool=new Vector();
datapool.add(s);
String l=(String )datapool.elementAt(0);
System.out.println(l);
}
}
这个程序是正确的,输出ssss
可能是String l=(String )datapool.elementAt(i);中变量i有问题,也就是说第i个元素本来就没有值