使用“return”从main方法中逃脱是否很糟糕?
Posted
技术标签:
【中文标题】使用“return”从main方法中逃脱是否很糟糕?【英文标题】:Is it bad to use "return" to escape from the main method?使用“return”从main方法中逃脱是不是很糟糕? 【发布时间】:2014-05-27 02:18:57 【问题描述】:所以这可能是一个非常愚蠢的问题,但在你把这篇文章烧成灰烬之前,请听我说完 XD。下面我编写了三个基本类,它们都完成了同样的事情,但是通过不同的方式:
A级(休息)-
import java.util.Scanner;
public class ClassA
public static void main(String[] args)
Scanner in = new Scanner(System.in);
while(true)
System.out.print("Enter a sentence (/q to quit): ");
String sentence = in.nextLine();
if(sentence.equals("/q"))
break;
else
System.out.println("Thank you!");
B 类(返回)-
import java.util.Scanner;
public class ClassB
public static void main(String[] args)
Scanner in = new Scanner(System.in);
while(true)
System.out.print("Enter a sentence (/q to quit): ");
String sentence = in.nextLine();
if(sentence.equals("/q"))
return;
else
System.out.println("Thank you!");
C 类(System.exit(0))-
import java.util.Scanner;
public class ClassC
public static void main(String[] args)
Scanner in = new Scanner(System.in);
while(true)
System.out.print("Enter a sentence (/q to quit): ");
String sentence = in.nextLine();
if(sentence.equals("/q"))
System.exit(0);
else
System.out.println("Thank you!");
虽然我更喜欢 A 类和 C 类,但 B 类有什么问题吗?更具体地说,使用return
语句退出程序的main
方法是不好的做法吗?如果有,为什么?
提前致谢!
【问题讨论】:
【参考方案1】:使用return
是完全正确的做法,因为它使您的main
更易于测试——您的测试框架不需要拦截退出尝试。
【讨论】:
以上是关于使用“return”从main方法中逃脱是否很糟糕?的主要内容,如果未能解决你的问题,请参考以下文章