package test; import java.util.Objects; /** * 关于字符串比较的方法进行建议。 * (1)"abc".equals(xxx) * (2)对象x.equals(xxx) * (3)Objects.equals(xx,xx) */ public class StringEquals { public static void main(String[] args) { /** * "abc".equals(xxx):通过字符串直接调用equals,如果参数为null,返回false即可, 不会抛异常 */ System.out.println("abc".equals(null)); System.out.println("abc".equals("abc")); /** * 对象x.equals(xxx),如果调用equals方法的对象为null,那么会抛异常 */ String str1 = null; //str1.equals("bbc"); /** * Objects.equals(xx,xx): * (1)无论两个参数是否为null,都不会抛异常 * (2)如果两个参数都为null或者两个对象参数一模一样,返回true * (3)如果其中一个参数为null,返回false * (4)否则,将使用第一个参数的equals方法确定相等性。 */ System.out.println(Objects.equals(str1,null)); } } 综上所述,搭建选择适合自己的方法即可,这里仅作科普和参考。