我写了//classA
....
public void removeTask(int i)
{
v.remove(i);
}
public int findOid(int oid)
{
return v.indexOf(oid)+1;
}//classB
....
int a = t.findOid(oid); t.removeTask(a);oid是个外部给的变量,并已经写入vector可是每次a的得到值都是0,不知道为什么 求教PS javaAPI上 写的int indexOf(Object elem) 这里的参数应该是Object 可我要在vector里找的elem类型是String
这里需要类型转换吗
....
public void removeTask(int i)
{
v.remove(i);
}
public int findOid(int oid)
{
return v.indexOf(oid)+1;
}//classB
....
int a = t.findOid(oid); t.removeTask(a);oid是个外部给的变量,并已经写入vector可是每次a的得到值都是0,不知道为什么 求教PS javaAPI上 写的int indexOf(Object elem) 这里的参数应该是Object 可我要在vector里找的elem类型是String
这里需要类型转换吗
谢谢
但我不知道为什么就是得不到 a的值
indexOf(oid)的作用是得到Vector中第一个元素为oid的位置吧?
可以参考一下代码
Vector v= new Vector();
v.add("123");
v.add("12");
v.add("124");
v.add("125");
v.add("126");
int a=12;
int b=v.indexOf(new Integer(a).toString());
System.out.println(b);
public int indexOf(Object elem)搜索给定参数的第一个匹配项,使用 equals 方法测试相等性。 指定者:
接口 List<E> 中的 indexOf
覆盖:
类 AbstractList<E> 中的 indexOf
参数:
elem - 一个对象。
返回:
返回参数在此向量中的第一个匹配项的索引,也就是使elem.equals(elementData[k]) 为 true 的最小值 k;如果未找到该对象,则返回 -1。
另请参见:
Object.equals(Object)还有:
public int findOid(int oid)
{
return v.indexOf(oid)+1;
}
可能应改成
public int findOid(int oid)
{
return v.indexOf(new Integer(oid))+1;
}
注意vector.indexOf返回值的意义