【问题标题】:Object generic return value (wrapper class) won't allow for primitive variable assignment对象通用返回值(包装类)不允许原始变量赋值
【发布时间】:2021-12-04 01:49:58
【问题描述】:

我的节点类中有以下 getElement 对象:

  public T getElement () {
        return element;
    }

在通用 T 类中,我有以下更专业的 getElement 对象来访问前面存储在数组中的链表:

public T getElement(int col, int row)

然后在另一个类中,我有以下使用这些对象的变量赋值:

int x = intGrid.getElement(0, 0).getElement();

以上行给出以下错误:

The method getElement() is undefined for the type Integer

我无法真正展示更多代码细节,因为我正在与其他人一起处理他们的代码项目。关于如何更改 public T getElement(int col, int row) 来解决这个问题的任何想法?我无法更改节点类 getElement,也无法更改该变量声明。

【问题讨论】:

  • 如果getElement(0, 0) 返回一个Integer,你为什么期望这个Integer 有一个getElement 方法?你不需要你的网格包含Node<Integer> 或类似的东西吗?

标签: java generics linked-list singly-linked-list


【解决方案1】:

我认为intGrid.getElement(0,0) 正在返回一个Integer Java 对象。

Integer 类不使用getElement 方法扩展YourNodeClass

如果没有看到您的代码,我无法谈论更多,但我建议避免继承。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2019-11-16
    • 1970-01-01
    • 2023-03-21
    • 2016-02-01
    • 1970-01-01
    相关资源
    最近更新 更多