2

ここにこのオブジェクトがあります:

public class ItemInfo {

    String productName;
    String rfidTagNumber;
    String originalLocal;
    String currentLocal;
    double productPrice;

    public ItemInfo(String name, String tag, String origLoc, String curLoc, double price) {
        productName = name;
        rfidTagNumber = tag;
        originalLocal = origLoc;
        currentLocal = curLoc;
        productPrice = price;
    }

ItemInfoここでオブジェクトを作成して参照する必要があります。

public class ItemInfoNode {

    ItemInfoNode next;
    ItemInfoNode prev;

    public ItemInfoNode(){

    }

    public void setInfo(ItemInfo info) {

    }

    public ItemInfo getInfo(){
        return null;    
    }

    public void setNext(ItemInfoNode node) {

    }

    public void setPrev(ItemInfoNode node) {

    }

    public ItemInfoNode getNext() {
        return null;
    }

    public ItemInfoNode getPrev() {
        return null;
    }
}

新しいオブジェクトを作成する方法は知っていますが、それが正しいかどうかよくわからないので、行を省略しました。参照だけを作成するにはどうすればよいですか?

編集: 別の小さなサイドバーですが、上記のように next と prev の 2 つの ItemInfoNode オブジェクトがありますが、コンストラクターを空白のままにしますか? それは大丈夫ですか?とにかく答えに役立つ場合は、関数を表示するためにクラスの残りの部分を貼り付けました。再度、感謝します!

4

4 に答える 4

5

Java では、newキーワードは新しく構築されたオブジェクトへの参照を返します。したがって、

String s = new String("foo");

variable の値はsString オブジェクトへの参照です。そして、あなたが何かをするなら

String t = s;

次にt、 と同じ値に設定しましsた。つまり、同じオブジェクトへの参照になりました。

于 2013-02-19T05:30:03.133 に答える
0

何を達成しようとしているのかは不明ですが、オブジェクトを作成する最も簡単な方法は、クラス名ItemInfonewキーワードを使用することです。たとえば、次のコード行を使用して、オブジェクト参照をグローバルに宣言できます。

ItemInfo myObj= new ItemInfo();
于 2013-02-19T05:30:18.860 に答える
0

このような新しいインスタンスを作成することもできます

ItemInfo myObj = new ItemInfo("name", "tag", "location", "local", 0.0);

または、次のようにします:-

public class ItemInfoNode{

        ItemInfo myObj;

        public ItemInfoNode(ItemInfo myObj){

        this.myObj = myObj;

}
于 2013-02-19T05:32:23.867 に答える
0

これはLinkedListの実装のように見えます。したがって、セッターを使用して次のノードと前の ItemInfoNode への参照を格納する必要があります。すでに宣言されています。次に、ゲッター、つまり getPrev() と getNext() で、保存された変数を返すことができます。

public void setNext(ItemInfoNode node){
    next = node;
}
public void setPrev(ItemInfoNode node){
    prev = node;
}
public ItemInfoNode getNext(){
    return next;
}
public ItemInfoNode getPrev(){
    return prev;
}
于 2013-02-19T06:04:28.870 に答える