我真的不明白我的程序发生了什么。我从[另一个类]调用一个方法,不知何故[调用方法的类]在调用的地方停止工作,并且不执行程序的其余部分。
也没有出现任何错误,它只是没有运行其余的(使用打印语句检查)
这是我的代码:
调用方法的类
Banana ban = new Banana();
String[] listOfBananas = ban.getBananas(); //Stops at this statement
//Below is a check that never gets executed as with the rest of the program
System.out.println("I didnt get to this statement");
//Do other stuff with the array...
具有
方法的类public class Banana {
public static String[] giveOtherClassList;
public Banana(){
}
public static void main(String[] args) {
StringBuilder a = new StringBuilder();
a.append("text text1 text2 text3");
giveOtherClassList = a.toString().split(" "); //Split will create an array
}
public String[] getBananas() {
//I know this method works because I ran this program with
//giveOtherClassList[3] and it returned the correct value
return giveOtherClassList;
}
}
答案 0 :(得分:0)
鉴于您提供的代码,我非常确定main
中的Banana
方法被执行而不是您实际想要执行的代码。只需删除main
中的Banana
方法,然后重新运行测试即可。确保:添加System.out.println("Start");
作为main
中的第一行。
这是一个仅用于文档目的的MWE:
public class Main implements Foo {
public static void main(String... args) {
Banana ban = new Banana();
String[] listOfBananas = ban.getBananas();
System.out.println("I didnt get to this statement");
}
}
class Banana {
public static String[] giveOtherClassList;
public Banana() {
}
public String[] getBananas() {
return giveOtherClassList;
}
}
此程序生成输出I didnt get to this statement
,显然 - 不是真的,因此程序可以正常工作:)