(JAVA)如何在void类型方法中终止某些情况下的方法

时间:2018-02-19 07:42:46

标签: java methods return

我在某种类型的编码情况下苦苦挣扎,我需要你的建议。例如,如果我想构造一个void类型方法但想要在某个循环处停止而不进入下一行,我该怎么办?

这是一个例子。

public void insertChild (E parent, E[] child) {
    for (Node<E> node : nodeSet) {
        if (node.getElement().equals(parent)) {
                //I want to stop here if it enters the if-case
            }
        }
    }
    //if not found
    System.out.println("Parent not found");
}

我使用void类型方法的原因是因为我想避免空指针异常(因为没有找到元素时没有返回)。有没有办法让我的理论成为可能?或者我应该只使用非void类型方法并处理空指针异常?

1 个答案:

答案 0 :(得分:0)

如果你想离开循环,你可以使用 打破;

public void insertChild (E parent, E[] child) {
for (Node<E> node : nodeSet) {
    if (node.getElement().equals(parent)) {
            //I want to stop here if it enters the if-case
          break;
        }
    }
}

如果你想留下所有方法,你可以使用

public void insertChild (E parent, E[] child) {
for (Node<E> node : nodeSet) {
    if (node.getElement().equals(parent)) {
            //I want to stop here if it enters the if-case
          return;
         }
    }
}

如果它返回值作为示例

 public int insertChild (E parent, E[] child) {
  for (Node<E> node : nodeSet) {
    if (node.getElement().equals(parent)) {
            //I want to stop here if it enters the if-case
          return value;
        }
    }
}