一旦我调用了该方法,它就无法使用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();
}
}
答案 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)