gpt4 book ai didi

java - 这两个条件的区别?

转载 作者:搜寻专家 更新时间:2023-11-01 01:04:02 24 4
gpt4 key购买 nike

抱歉,我的问题是否愚蠢并不重要。但我只想知道在这两种情况下会发生什么。

public class Test {
public static void main(String[] args)
{
String str="test";
if(str.equals("test")){
System.out.println("After");
}
if("test".equals(str)){
System.out.println("Before");
}
}
}

两者都只给出相同的结果。但我知道有一些原因。我不知道。这两个条件有什么区别?

最佳答案

它们之间没有任何区别。许多程序员使用第二种方法只是为了确保他们不会得到 NullPointerException。就这样。

    String str = null;

if(str.equals("test")) { // NullPointerException
System.out.println("After");
}
if("test".equals(str)) { // No Exception will be thrown. Will return false
System.out.println("Before");
}

关于java - 这两个条件的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13084049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com