此Java字符串文字初始化会在初始化代码处于检查par1是否具有值的范围内时给出错误。我不确定我在做什么还是其他问题?
public class optionalFields {
public static void main(String args[])
{
optional_func(Optional.of(true));
}
public static void optional_func(Optional<Boolean> par1)
{
if(par1.isPresent())
String s = "test";
System.out.println(s);
}
}
答案 0 :(得分:5)
应该是:
if (par1.isPresent()) {
String s = "test";
System.out.println(s);
}
除非将声明放在块中,否则不能在if
语句中声明变量。此外,由于您正在打印s
,因此println
语句也应该位于if
语句的块内。
如果即使条件为假也要打印s
,则应该为:
String s = null;
if (par1.isPresent())
s = "test";
System.out.println(s);