Java - 函数没有返回我所期望的

标签 java string try-catch equals

代码如下:

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

现在,这个程序的输出是

0

但我希望它是:

1

因为我希望 f 函数执行的操作是,如果字符串相同则返回 0,否则返回 1 .

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

最佳答案

问题是:

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

你需要删除分号 else,它本身就是一个表达式,什么都不做:

if(string.equals(string2) == true) return 0;

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

相关文章:

Java:正确引用 ETag 的例程?

c++ - 为什么带引号的字符串在 std::string 之前匹配 bool 方法签名?

java - 将字符串转换为首字母缩略词时遇到问题

c# - 如何检查DirectX是否可用?

php - 为什么 PHP 没有捕获到 "Class not found"错误?

java - Eclipse Android 开发 - [I18N] 硬编码字符串 "TextView",应该使用 @string 资源

java - 使用现有数据库在 Android 应用程序中显示数据

java - Swing:灰色多行JCheckBox?

时间:2019-05-09 标签:c#复制文本到行尾richtextbox

php - Laravel 中的 try-catch 样板