Java中的泛型,Merge方法

2024-06-24

我必须创建一个合并方法来将两个列表(基于数组的列表)合并在一起。我的方法有效,但现在我必须将方法更改为泛型。这是我没有泛型的方法,并且它有效。但我在将其转换为泛型时遇到了麻烦。

public OrderedArrayList merge(OrderedArrayList list2){
        OrderedArrayList result = new OrderedArrayList(length + list2.length);
        int list1Index = 0;
        int list2Index = 0;
        for (int i = 0; i < result.maxSize; i++) {
            if (list1Index == list.length) {
                result.insert(list2.list[list2Index]);
                list2Index++;
            } else if (list2Index == list2.length) {
                result.insert(list[list1Index]);
                list1Index++;
            } else if (list[list1Index] < list2.list[list2Index]) {
                result.insert(list[list1Index]);
                list1Index++;
            } else {
                result.insert(list2.list[list2Index]);
                list2Index++;
            }
        }
        return result;
    }

这是我将上述消息转换为泛型的尝试。

public  <T extends Comparable<T> > OrderedArrayList1<T> merge(OrderedArrayList1<T> list2){
        OrderedArrayList1 result = new OrderedArrayList1(length + list2.length);
        int list1Index = 0;
        int list2Index = 0;
        for (int i = 0; i < result.maxSize; i++) {
          T temp = list[list1Index];
          T temp1 = list[list2Index];
            if (temp.compareTo(temp1) == 0) {
                result.insert(list2.list[list2Index]);
                list2Index++;
            } else if (temp1.compareTo(temp)==0) {
                result.insert(list[list1Index]);
                list1Index++;
            } else if (temp.compareTo(temp1) < 0) {
                result.insert(list[list1Index]);
                list1Index++;
            } else {
                result.insert(list2.list[list2Index]);
                list2Index++;
            }
        }
        return result;
    }

有很多错误,并且不符合或不工作。这是我不断收到的错误之一: 错误:不兼容的类型:T 无法转换为 T

谢谢。


假设您已声明<T extends Comparable<T> >在类级别,在方法上将其删除:

class OrderedArrayList1<T extends Comparable<T> > {
  public OrderedArrayList1<T> merge(OrderedArrayList1<T> list2) {
    ...
  }
}

否则,您将定义一个不同的类型变量,该变量恰好具有相同的名称,因此会出现稍微神秘的“T 无法转换为 T”消息。

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

Java中的泛型,Merge方法 的相关文章

  • Java Util Logger 写入同步

    通常在应用程序中 以 Web 应用程序为例 我们在启动期间创建一个记录器实例 它甚至可以是一个单例 但这并不重要 重要的是整个应用程序有 1 个实例 我们使用java util logger 现在想象一下 您有来自两个不同用户的两个请求 它
  • 如何使用 Windows 上运行的 Java 服务检测用户活动?

    我的目标是使用 Java 创建一个系统监控应用程序 我想知道用户何时在 Windows PC 上进行活动 结果会是这样的 8 00 8 15 活动 9 12 10 29 活动 12 24 15 34 活动 我对任何其他信息 按下了哪个键 使
  • 创建 RESTful WebService 并通过 Glassfish 4 提供服务

    我在 JEE6 中看到了很多关于 RESTful WebServices 的问题 所以我想与您分享这个示例解决方案 它展示了实现 RESTful Webservice 是多么容易 首先创建一个新的动态 Web 项目并将 Glassfish
  • 在记录活动中使用 readConfiguration 方法

    为了在小型 Java 桌面应用程序中使用日志记录 我试图深入了解一些方法的操作 我使用一个非常愚蠢的小Java程序来测试它们 特别是 在测试 LogManager readConfiguration 方法的行为时 我发现了一些奇怪的事情 在
  • 限制执行第三方软件的线程的权限

    我正在开发一个基于 Eclipse 的应用程序 能够执行第三方组件 不是 eclipse plugin 每个组件都有一个列出权限 以及相应动机 的自定义描述符 这样最终用户可以决定是否执行它 组件在单独的线程中执行 如何根据描述符限制这些线
  • RSA Java 加密和 Node.js 解密不起作用

    我有一个系统 需要在 javascript 中生成 RSA 密钥对 然后将公钥存储在服务器端的数据库中 作为字符串 然后 Java 中的服务器端将使用存储的公钥对字符串进行加密密钥并将其发送到客户端 客户端将使用私钥解密该字符串 我在客户端
  • 从 java 代码运行 Python 脚本

    这是我第一次在java中尝试python 我正在尝试从我的代码执行 python 脚本 如下所示 Process process Runtime getRuntime exec python C Users username Desktop
  • 问题:将大数据传递给第二个 Activity

    我有一个奇怪的问题 我在网上浏览但没有找到答案 我仍然是android编程的初学者 那么让我们开始吧 我想做的就是用一些数据调用第二个活动 它适用于小数据 但如果数据变大 第二个 Activity 将不会显示 第一个 Activity 将完
  • Run As JUnit 未出现在 Eclipse 中 - 使用 JUnit4

    我正在尝试为我的 Web 应用程序编写 JUnit4 测试 它们之前一直工作正常 但是 现在当我尝试通过右键单击类文件 gt Run As gt JUnit Test 来运行测试时 我看不到该选项 我认为这可能是因为一位同事意外提交了一些
  • double 或 BigDecimal 会溢出吗?

    Java 8 给了我们Math addExact https docs oracle com javase 8 docs api java lang Math html addExact int int 适用于整数 但不适用于小数 是否有可
  • Java 多态性中的字段如何工作? [复制]

    这个问题在这里已经有答案了 我正在读书面试问题 http javabypatel blogspot in 2016 04 java interview questions html关于java 发现了很好的例子 但感到困惑 因为没有很好 更
  • Java SFTP使用JSch上传,但如何覆盖当前文件?

    我正在尝试使用 JSch 通过 SFTP 将两个文件上传到服务器 如果目录为空 则上传文件效果很好 但我想一遍又一遍地上传相同的文件 只需更改内部的 id 但我不知道如何执行此操作 JSch 中有一些名为 OVERWRITE 的静态参数 但
  • 识别包含本机方法实现的库文件/源

    如何识别包含本机方法实现的库文件 Ex public native String intern 我在哪里可以找到实施 source code of String intern 方法 找到了答案String intern 与快速谷歌搜索 ht
  • Finalize() 何时执行? [复制]

    这个问题在这里已经有答案了 在一次采访中我被问到 假设 JVM 在 A 类对象未被使用时运行 gc class A some code here protected void finalize code here 它是否保证finalize
  • SwingWorker 和 Executor 的区别

    我正在使用 SwingWorker 在我正在制作的应用程序上执行一些重负载任务 虽然今天我遇到了 Executor 类和这个例子 Executors newCachedThreadPool execute new Runnable publ
  • 从java类文件获取apache webcontents文件夹的绝对路径[重复]

    这个问题在这里已经有答案了 需要在动态 Web 应用程序内获取 java 类文件中的绝对路径 实际上我需要获取 apache webapps 文件夹的路径 部署 webapps 的位置 e g apache root webapps my
  • 解决SecurityException:权限拒绝:启动意图。我需要什么许可?

    我想从应用程序打开游戏商店 在三星手机上还好 但在一加手机上却失败了 我不知道在哪里alibaba来自 真奇怪 异常 java lang SecurityException 权限拒绝 启动意图 act android intent acti
  • 如何处理JFreeChart中的SpiderWebPlot?

    发现 JFreeChart 我在使用时遇到了问题蜘蛛网情节 http www jfree org jfreechart api javadoc org jfree chart plot SpiderWebPlot html 这就是我今天所拥
  • JFrame.repaint() 和 JPanel.repaint() 之间的区别

    谁能解释一下两者之间的区别JPanel repaint 方法和JFrame repaint 方法 我想两者都调用paintComponent JPanel 中的方法 请澄清 谢谢 Calling repaint 在任何组件上都会向重绘管理器
  • java中的“main”可以返回字符串吗?

    java中的public static void main String args 是否有可能返回String代替void 如果是 怎么办 public static String main String args 代替 public st

随机推荐

  • 如果 include() 是有条件的,即使不满足条件,PHP 也会包含该文件吗?

    这个问题困扰了我很长一段时间 我想我应该向专家寻求答案 我想知道通过单个文件汇集所有 PHP 请求是否是一种糟糕的编程技术 我一直在开发一个网站 不确定它是否会随着增长而扩展 因为我不能 100 确定 PHP 如何处理include 功能
  • 更改 PreferenceScreen 时保持操作栏显示

    我正在尝试在我的首选项屏幕中显示操作栏 为此 我在我的设置活动中添加了以下代码 public class PreferencesActivity extends ActionBarActivity Override protected vo
  • 如何将启动时窗口的位置定位到用户屏幕的右侧?

    我目前正在用 C 创建一个类似侧边栏的 WPF 应用程序 当用户启动应用程序时 我希望窗口自动将其自身定位到用户屏幕的一侧 我尝试了一些方法和谷歌搜索 但没有找到任何帮助 这是我正在尝试做的事情的一个例子 http prntscr com
  • 我的程序不再询问操作员

    include
  • 无法将带有特殊字符的文件名上传到Google Drive REST

    当我尝试使用 Web 应用程序将文件上传到 google Drive api 时 出现错误 并且该文件包含带重音的字符 例如 我使用两个请求上传文件 一个初始请求包含文件信息并将 uri 返回到文件应上传的位置 后续请求包含文件本身 第一次
  • iPad 表单禁用 [上一页 | 下一页]下一个]按钮

    所以我有一个存在于滑块中的表单向导 整个想法是根据人们的决定来限制他们 问题出在ipad上 在 iPad 上 它允许您点击 上一页 下一页 在表单上的字段之间移动 这打破了门控策略 在桌面浏览器上我抑制了TAB键通过在门控字段上按键时返回
  • jQuery 如果 Div 不存在

    我有 3 个图像 并且有一个功能 以便在鼠标悬停时它们淡入和淡出 如果滚动的图像具有 选定 类 我不想这样做 到目前为止我有这个代码 thumbs hover function if this hasClass selected this
  • 从函数返回多个值[重复]

    这个问题在这里已经有答案了 谁能告诉我如何从函数返回多个值 请举例说明 您在这里的选择是返回一个包含您喜欢的元素的结构 或者使函数使用指针处理参数 method 1 struct Bar int x int y struct Bar fun
  • 如何在列表视图中实现拖放?

    我发现大多数类似的问题都是几年前提出的 因此 我想知道是否有一种新的更简单的方法来实现列表视图的拖放功能 我正在从 sqilte db 中获取列表视图对象的数据 我没有找到一些简单的教程 如果有请分享链接 我找到了这个视频 https ww
  • 为 CMake 项目创建配置文件

    我正在尝试为我拥有的示例项目生成配置 CMake 文件 我的示例由两个 CMake 项目组成 一个在内部使用 spdlog 并在其界面中使用 eigen 的库 以及一个使用该库的应用程序 我们的想法是学习如何创建 Config cmake
  • 如何查明选择补助金是直接获得还是通过角色获得

    Oracle 中的陷阱之一是 有时如果在 SQLplus 中运行查询 则可以从表中进行选择 但从存储过程运行查询时则不能 为了从存储过程运行查询 您需要对象的直接授权 而不是通过角色获得的授权 如果我在 all tables 视图中看到一个
  • 熊猫情节不显示

    当在脚本 不是 IPython 中使用它时 什么也没有发生 即绘图窗口不会出现 import numpy as np import pandas as pd ts pd Series np random randn 1000 index p
  • rails_admin 更改belongs_to 下拉列表以显示不同字段的选项

    我在用rails admin 0 6 5 with Rails 4 1 6并有一个has many belongs toVolume 和 Issue 模型之间的关联设置分别为 class Volume lt ActiveRecord Bas
  • 如何修复 WebView Chrome 76 上的 CORS 错误?

    我已将请求从我的应用程序发送到 API 服务器 在WebView Chrome 76 0 3809 89上无法调用API 日志中显示以下错误 Access to XMLHttpRequest at https from origin fil
  • Android 中清除剪贴板数据

    我试图清除 Android 中的剪贴板数据 如下所示 但它没有清除它 ClipboardManager clipman ClipboardManager getSystemService CLIPBOARD SERVICE clipman
  • 如果 [super init] 返回 nil 为什么不抛出异常?

    这被认为是典型的 id init self super init if self lt initializations gt return self 但选择这样的实际上能做出适当响应的东西不是更好吗 id init self super i
  • 使用无服务器框架为 dynamodb 设置复合排序键

    我是 dynamodb 和 serverless 的新手 我已经阅读过复合排序键 https www alexdebrie com posts dynamodb one to many composite sort keys with hi
  • NAnt:用于执行任务的并行线程;这存在吗?

    我正在寻找执行能力
  • 使用 CountVectorizer 连接自定义特征

    我有一堆包含文章的文件 每篇文章都应该有一些功能 例如 文本长度 垃圾短信 都是整数或浮点数 在大多数情况下它们应该从 csv 加载 我想做的是 将这些功能与 CountVectorizer 结合起来 然后对这些文本进行分类 我看过一些教程
  • Java中的泛型,Merge方法

    我必须创建一个合并方法来将两个列表 基于数组的列表 合并在一起 我的方法有效 但现在我必须将方法更改为泛型 这是我没有泛型的方法 并且它有效 但我在将其转换为泛型时遇到了麻烦 public OrderedArrayList merge Or