-2

我有一个Vector完整的longs。

我希望能够始终调用getFirstElement()Vector 然后执行一个动作,比如说addToOtherVector(). 我希望能够不担心是否真的有一个值可以从我的原始向量返回。我想我可以通过这样覆盖来做到这addToOtherVector()一点:

//Code to be called when my first vector is not empty
public void addToOtherVector(long s){
    othervector.add(s);
}

//Code to be called when my first vector IS empty
public void addToOtherVector(something???){
    //does nothing
}

但我不确定我需要做什么,因为它不会接受null作为参数?

我这样做的原因是因为我不希望每次尝试检索时都检查向量的大小

4

2 回答 2

0
import java.util.Vector;
public class Main {

    static Vector otherVector = new Vector();

    public static void main(String[] args) {

        Vector originalVector = new Vector();
        originalVector.add(1);
        originalVector.add(null);
        originalVector.add(2);

        for (Object obj : originalVector) {
            addToOtherVector(obj);
        }
    }

    public static void addToOtherVector(long s) {
        otherVector.add(s);
        System.out.println("adding " + s + " to vector");
    }

    public static void addToOtherVector(Object obj) {
        System.out.println("not adding " + obj + " to vector");
    }
}
于 2012-05-10T15:28:36.413 回答
0

只需用基类覆盖该方法。由于Number是 , 等的基类LongInteger因此只需使用该类:

//Code to be called when my first vector is not empty
public void addToOtherVector(long s){
   othervector.add(s);
}

//Code to be called when my first vector IS empty
public void addToOtherVector(Number s){
   if (s == null) {
       return;
   }
   othervector.add(((Number) s).longValue());
}
于 2011-08-20T20:08:26.443 回答