这是代码:

import java.util.*;

public class HelloWorld
{

public static void main(String[] args)
{
    String string1 = "randomString1";
    System.out.print(f(string1));
}

public static int f(String string)
{
    try {
        String string2 = "randomString2";

        if(string.equals(string2) == true);
            return 0;
    }
    catch(Exception e){
        e.printStackTrace();
    }

    return 1;
}

}//end of class

现在,这个程序的输出是



但我希望它是:



因为我想让 f 函数做的是,如果字符串相同,则返回 0,否则返回 1

所以,这里肯定有我知道的错误,我猜这与 equals 方法有关。

最佳答案

这就是问题:

if(string.equals(string2) == true);
----------------------------------^

你需要删除其他的分号,它本身几乎是一个什么都不做的表达式:
if(string.equals(string2) == true) return 0;

关于Java - 函数没有返回我所期望的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43392421/

10-12 04:56