当前位置: 首页 > 面试题库 >

Java中的“无法取消引用”

欧阳杰
2023-03-14
问题内容

我是Java的新手,正在使用BlueJ。尝试编译时,我不断收到此“无法取消引用Int”错误,但我不确定是什么问题。该错误专门在底部的if语句中发生,其中说“等于”是错误,并且“不能取消引用int”。希望得到一些帮助,因为我不知道该怎么办。先感谢您!

public class Catalog {
    private Item[] list;
    private int size;

    // Construct an empty catalog with the specified capacity.
    public Catalog(int max) {
        list = new Item[max];
        size = 0;
    }

    // Insert a new item into the catalog.
    // Throw a CatalogFull exception if the catalog is full.
    public void insert(Item obj) throws CatalogFull {
        if (list.length == size) {
            throw new CatalogFull();
        }
        list[size] = obj;
        ++size;
    }

    // Search the catalog for the item whose item number
    // is the parameter id.  Return the matching object 
    // if the search succeeds.  Throw an ItemNotFound
    // exception if the search fails.
    public Item find(int id) throws ItemNotFound {
        for (int pos = 0; pos < size; ++pos){
            if (id.equals(list[pos].getItemNumber())){ //Getting error on "equals"
                return list[pos];
            }
            else {
                throw new ItemNotFound();
            }
        }
    }
}

问题答案:

id是原始类型int而不是Object。您不能像在这里那样在原始类型上调用方法:

id.equals

尝试替换此:

        if (id.equals(list[pos].getItemNumber())){ //Getting error on "equals"

        if (id == list[pos].getItemNumber()){ //Getting error on "equals"


 类似资料:
  • 在编写以下代码时,无法取消对字符的引用错误 在线if(A. charAt(i-1). equals(B. charAt(j-1)))

  • 问题内容: 我试图像这样使用PrintWriter: 但是Java抱怨: 无效不能取消引用 如果我做: 可行,有什么原因吗? 问题答案: 是。(和其他方法)的签名返回(不是)。您不能将调用链接到方法。

  • 问题内容: 因此,我在这里看到了一个示例,该示例如何使用Comparator接口对ArrayList进行排序,因此我进行了尝试。使用Strings可以很好地工作,但是我要排序的一个变量是Integer,它将无法编译,并说“不能取消引用int”。 我该怎么做才能使它起作用,并允许我按score变量对ArrayList进行排序? 这是我的代码: 谢谢您的帮助! 问题答案: 您不能在上调用方法;没有可以

  • 我对Java相当陌生,我使用的是BlueJ。当我试图编译时,我总是得到这个“Int不能被解引用”的错误,我不知道是什么问题。这个错误特别发生在我的if语句的底部,它说“equals”是一个错误,“int不能被解引用。”希望得到一些帮助,因为我不知道该怎么办。提前感谢!

  • 问题内容: 我正在尝试检查字符串在不同位置处的连字符(对于电话号码,因为输入有所不同),但是我一直收到错误消息 不能取消引用char 码: 问题答案: 如果您使用类似的方法,它将起作用: 问题是返回a 而不是a 。该方法只能用于对象。Char是没有方法的原始数据类型。在char上,您应该使用或运算符。

  • 使用反序列化对象时,我遇到以下错误: JSONMappingException无法构造组织的实例。springframework。数据页,问题:抽象类型只能用附加类型信息进行实例化。 我试图将JSON字符串序列化为Spring数据对象,表示类型为的页面。 类是一个简单的POJO,具有和名称。我正在反序列化的JSON字符串是: 这会导致异常: 因为是Spring对象,所以我不能修改它,我认为这与我在