当前位置: 首页 > 知识库问答 >
问题:

在Java[duplicate]中使用equals()方法时如何避免空异常

邢财
2023-03-14

我试图比较两个不同对象的名称,但是当使用equals()方法将一个项目与null进行比较时,我一直得到异常。我尝试了很多方法,包括other.equals(哈哈)、haha.equals(其他)等等,但都失败了。

public final class ItemImpl implements Item {
  private final String name;

  public ItemImpl(String name) {
    if (name == null) {
      throw new IllegalArgumentException("name cannot be null!");
    }
    this.name = name;
  }

  @Override
  public String getName() {
    return this.name;
  }

  public boolean equals(Object other) {
    Object haha = name;

    return other.toString().equals(haha.toString());
  }

  public String toString() {
    return this.name;
  }
}

共有1个答案

阚通
2023-03-14

调用对象。等于表示零位公差。

对象。等于(a,b)
为您完成这项工作,在您的情况下,您还必须查看您调用的toString方法不在空引用上<所以使用:
返回其他!=无效的

 类似资料:
  • 本文向大家介绍Java中避免空指针异常的方法,包括了Java中避免空指针异常的方法的使用技巧和注意事项,需要的朋友参考一下 没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧。。 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么? 1.Java 8中新引入的类型 2.它是作为

  • 我一直收到NoClassDefoundError错误。我试图使用JavaMail API发送电子邮件,但当我使用SMTPMessage类创建Message实例时发生错误。 我知道我需要激活库,但它还是不起作用。 错误发生在这段代码的第一行。 堆栈跟踪

  • 我有zuul网关服务器,没有eureka服务发现。 我使用下面显示的yml文件连接微服务和zuul。 当我执行URL超时时,会发生异常

  • 问题内容: 我需要检查某个值是否为null。如果它不为null,则将一些变量设置为true。这里没有其他声明。这样的条件检查太多了。 有什么方法可以在不检查所有方法返回值的情况下处理此空检查? 我认为直接检查变量并忽略NullpointerException。这是一个好习惯吗? 问题答案: 不,在Java中捕获NPE而不是对您的引用进行空检查通常不是一个好习惯。 如果您愿意,可以使用这种东西: 或

  • 问题内容: 我正在研究从文件读取大量数据的应用程序。基本上,我有一个巨大的文件(大约1.5-2个演出),其中包含不同的对象(每个文件约5至1000万个对象)。我需要阅读所有内容,并将其放置在应用程序中的不同地图上。问题是该应用程序在某些时候读取对象时内存不足。仅当我将其设置为使用- Xmx4096m时,它才能处理该文件。但是,如果文件更大,它将无法再执行此操作。 这是代码片段: 首先,我使用的是

  • 理论上讲,总是可以到达嵌套在两个循环中的语句。 编译器不同意,并要求在循环之外使用语句。我想知道一种优雅的方法来优化这个方法,这超出了我目前的理解,我尝试的break实现似乎都不起作用。 附加的是来自赋值的一个方法,该方法生成随机整数,并返回循环遍历直到找到第二个随机整数为止的迭代,该迭代是在作为int参数传递给该方法的范围内生成的。