-2

SがVectorいっぱいですlong

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、などの基本クラスであるためLong、それIntegerを使用するだけです:

//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 に答える