不兼容的类型:java.lang.Object 无法转换为 T

2023-11-29

这是我的代码:

package datastructures;

import java.util.Iterator;

public class Stack<T>{
    private class Node<T>{
        T data;
        Node next;
    }
    private int size;
    private Node head;
    private Node newNode(T data){
        Node new_node = new Node();
        new_node.data = data;
        new_node.next = null;
        return new_node;
    }
    public Stack(){
        size = 0;
        head = null;
    }

    public T pop() {
        if(head == null)
            return null;
        T ret_val = head.data; //Error here
        head = head.next;
        this.size--;
        return ret_val;
    }
}

我在 pop 方法中收到错误,错误如下:

Error: incompatible types : java.lang.Object cannot be converted to T

我不明白这个错误,我没有在代码中的任何地方使用对象。


当您将 Node 声明为

private class Node<T>

您正在声明一个泛型类型,其中另一个 T 作为封闭类型中的 T。你隐藏了 T。所以,简而言之,就好像你将其声明为

private class Node<E>

Just use

private class Node
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不兼容的类型:java.lang.Object 无法转换为 T 的相关文章

随机推荐

  • Excel 为文本分配自动编号

    我有一个电子表格 如果某个值基于另一列中的 Countif 公式重复 我需要一个公式来创建类似于自动编号的功能 我想为每个具有多个订单的名称创建一个自动 因此 在这个例子中 Joe 的 ID 为 1 因为他是第一个工作表 而 Bunny 的
  • 在 x86 和 x64 上读取同一页内缓冲区末尾是否安全?

    如果允许高性能算法中的许多方法读取超出输入缓冲区末尾的少量内容 则可以 并且 简化它们 这里的 少量 一般是指最多W 1超过末尾的字节 其中W是算法的字大小 以字节为单位 例如 处理 64 位块输入的算法最多 7 个字节 It s clea
  • UML,包含,扩展关系

    我无法理解包含和扩展关系如何工作 假设我有一个在线购物应用程序 该应用程序允许您在未经身份验证的情况下从购物车添加 检索商品 这是 订单 场景 客户点击订单按钮 系统检查用户是否通过身份验证 如果用户通过身份验证 系统将显示购买页面 否则用
  • 是否有一个时间服务器提供 API,我可以从中获取当前东部时间?

    好的 我们的网站上有一个倒计时 我需要执行 api 调用来获取当前的东部时间 我有这个link这就是我需要的时间 有没有什么方法或任何网络服务可以使用 jquery get 请求返回当前时间 任何信息都会有帮助 http worldcloc
  • 将gremlin查询结果与elementMap转换为JSON [gremlinpython 3.6.1]

    继续讨论自here 我有一个提供路径列表以及 elementMap 的查询 如何将此数据转换为 JSON 以供其余代码使用 我确实看过here谈到使用GraphSONMapper 但是 我正在使用gremlinpython v 3 6 1
  • jQuery 使用 $.each 迭代对象

    我有一个对象options options title title1 name name1 url url1 etc 它作为参数传递给函数 我正在尝试迭代该对象 将其传递给另一个函数evaluate 并将结果存储在另一个对象中opts 像这
  • Objective-C 中基于波形符的路径

    在 Objective C 中 如何将基于波形符的路径名转换为完整路径名 也就是说 我想从 sandbox to Users TheBobs sandbox 使用 NSString 的stringByExpandingTildeInPath
  • 绑定到静态类属性[重复]

    这个问题在这里已经有答案了 我想将文本块文本绑定到静态类的属性 每当静态类的属性值发生更改时 它都应该反映到其他窗口或自定义控件上的文本块 您可以使用以下方法绑定到静态类上的任何属性x Static标记扩展 但如果您不实现任何更改跟踪 则可
  • 如何创建具有多个模型的视图 mvc 4?

    所以我在 asp net mvc 4 项目中工作 我认为有一个问题 我想要的是创建一个具有两种不同类型模型的视图 第一个视图 索引 采用 IEnumerable Models myModel 第二个视图 订阅者详细信息 采用 Models
  • 在 python 2.7 中打开空格(?)分隔的文本文件?

    我有一个我认为是空格分隔的文本文件 我想打开该文件并将一些数据复制到列表 Python 2 7 这是数据文件的片段 0 000000 11 00 737 09 1 00 1116 00 0 001000 14 00 669 29 10 00
  • Boost 自动链接库不是由 Boost 构建的,但已构建了预期的库

    我正在开发一个数学应用程序 可以通过编写 python 脚本来扩展它 我正在使用 Qt 4 6 3 构建为静态库 调试和发布版本 和 Boost 1 43 0 构建为静态库 运行时链接也设置为静态 多线程版本 调试和发布 一切都是用 MSV
  • 辅助模式使用编译时无需推断适当的类型

    考虑以下简单的例子Aux 图案 sealed trait AdtBase abstract case class Foo type T lt AdtBase object Foo type Aux TT Foo type T TT abst
  • 将 select2 与 jqGrid 一起使用时,为 select 选择正确的值

    我在用着select2与jqGrid 对于 选择 元素 我执行以下操作 label Teacher name teacher index teacher editable true edittype select editoptions d
  • 页面加载后如何加载图像?

    我有这个代码
  • 以编程方式删除 Sitecore 中的子布局

    有谁知道如何从 Sitecore 项目中删除效果图 我想删除所有子布局 以便可以用新的子布局替换它们 我有试过这个但它似乎不起作用 该项目没有任何变化 我似乎能够得到这样的效果图 RenderingReference renderings
  • C 读取二进制标准输入

    我正在尝试构建一个指令管道模拟器 但在开始时遇到了很多麻烦 我需要做的是从标准输入读取二进制文件 然后在操作数据时以某种方式将其存储在内存中 我需要一个接一个地读取 32 位的块 如何一次读取 32 位的块 其次 我如何存储它以供以后操作
  • 在Java中根据子字符串对字符串进行排序[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我有一个字符串列表def123 abc999 zzz000 abc123 zzz111 我希望对列表进行排序 使得前三个字符按升序排序 后三个字符按降序排序 所以输出应该是abc999
  • 在另一个程序的窗口中查找按钮的句柄

    我需要一些帮助 我在最后写了我的问题 并首先解释我的代码到底应该做什么 我正在制作一个可以与其他程序通信的程序 我需要我的软件做的是能够单击另一个程序上的按钮 我相信执行此操作的适当代码是 SendMessage hWnd Msg wPar
  • Google Cloud Platform 外部 IP 指向新加坡的实例,但显示在美国

    我购买了一个 GCP 虚拟机实例亚洲 东南1并预留了一个外部IP为此在同一地区 GCP控制台中显示的实例和IP信息似乎没问题 但是当我将网站部署到其中时 响应非常慢 我的静态IP 虚拟机实例所以我查找我的 IP 工具显示我的 IP 来自美国
  • 不兼容的类型:java.lang.Object 无法转换为 T

    这是我的代码 package datastructures import java util Iterator public class Stack