在整理之前的代码时发现了一个问题,不知道哪种解决方案稳妥一点,把2种解决方案贴出来,问一下大兄弟们,哪个好一些
public static int showMenu(String title,String[] items){
Scanner input=new Scanner(System.in);
try {
System.out.println(title);
for (int i = 0; i < items.length; i++) {
System.out.println((i+1)+"."+items[i]);
}
System.out.print("请选择:");
return input.nextInt();
} catch (Exception e) {
return -1;
} finally {
input.close();
}
}
public static int showMenu(String title,String[] items){
Scanner input=new Scanner(System.in);
System.out.println(title);
for (int i = 0; i < items.length; i++) {
System.out.println((i+1)+"."+items[i]);
}
System.out.print("请选择:");
int temp = input.nextInt();
input.close();
return temp;
}
return可以放到最后面
如果测试我会选第一个 如果是一个工程 我会选第一个
一般我是选第一个,而且return方法不一定非要放最后执行,finally是一定会执行的也就是说finally里的资源释放与清空是必然执行的<只要不直接停虚拟机即可>