首页 > 解决方案 > 初始化Java字符串文字给出错误

问题描述

当要初始化的代码在检查 par1 是否有值时,此 java 字符串文字初始化给出错误。我不确定我是在做还是其他问题?

在此处输入图像描述

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);
    }
 }

标签: javaoptional-parameters

解决方案


它应该是:

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);

推荐阅读