我需要根据是否设置了参数(opath)来更改类/流类型,但是当我在if-else语句中声明时,netbeans抱怨找不到变量oos。
我不明白这一点,因为var oos总是被设置的,而且它永远都不会被定义?
if(_param.get("opath") != null) {
FileOutputStream oos = new FileOutputStream(_param.get("opath").toString());
} else {
OutputStream oos = csocket.getOutputStream();
}
do something with oos...
最佳答案
将您的代码更改为以下内容
OutputStream oos;
if(_param.get("opath") != null) {
oos = new FileOutputStream(_param.get("opath").toString());
} else {
oos = csocket.getOutputStream();
}
//do something with oos
它只是关于作用域,并使对象可用于您要使用它的代码中
关于java - 在if else语句中使用可选的类类型定义变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51978127/