方法不返回值我在方法中使用返回类型

时间:2015-06-24 05:30:45

标签: java return

一旦我调用了该方法,它就无法使用return语句返回任何值,但它可以通过print语句显示正确的输出。

代码或IDE的问题是什么?

public class StringHandling{
    public boolean checkString(){
    String s1 = "hai";
    String s2 = "hai";
    boolean flag = (s1==s2);
    return flag;
    }

    public static void main(String[] args) {
        StringHandling stringHandling = new StringHandling();
        stringHandling.checkString();
    }
}

1 个答案:

答案 0 :(得分:1)

问题出在你的main()函数中,该方法很可能正确地返回布尔值,但在main中你不接受它或打印左右,它只是被丢弃 -

public static void main(String[] args) {
    StringHandling stringHandling = new StringHandling();

    stringHandling.checkString();  // <--- Issue here, nothing being done with returned value.
}

如果要打印返回的值,请使用System.out.println()并调用其中的函数 -

public static void main(String[] args) {
    StringHandling stringHandling = new StringHandling();

    System.out.println(stringHandling.checkString());
}

您也可以将返回的值保存到变量中,如果需要,可以在以后使用它。

另外,比较字符串的方法是错误的,您应该使用.equals()方法进行字符串比较。示例 -

boolean flag = s1.equals(s2)