所以我有一堂课

public class Box {
    int index;
    static int amount;
    Box thisbox;
    Cargo thiscargo;
    Box(){
        index = amount;
        amount++;
    }
}


在另一堂课中,我将定义框:

public class dostuff {
    public static void main(String[] args) throws NoSuchMethodException {
        Box box = new Box();
        box.thisbox = new Box();
        box.thisbox.thisbox = new Box();
        box.thisbox.thisbox.thisbox = new Box();
        box.thisbox.thisbox.thisbox.thisbox = new Box();
    }

}


如您所知,box.thisbox.thisbox.thisbox.thisbox变得很烦人。我想知道是否可以让循环更轻松地访问box.thisbox.thisbox.thisbox而不必重复三遍.thisbox。在某些情况下,我必须在框内定义30个框,并且我不想复制和粘贴“ thisbox”的内容很多次。真的会喜欢一些帮助。谢谢!
编辑:我不能使用数组列表。不要问...

最佳答案

您可以编写某种深度的递归方法。

像这样

public Box getNthBox(Box box, int depth) {
    If (depth == 0) {
        return box;
    }

    return getNthBox(box.getBox(), depth - 1);
}


您需要一个getBox()方法,但该方法返回Box字段。

关于java - 有没有更简单的方法来定义对象内的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58478461/

10-15 17:16