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

在通用java BST类中将值交换为键时遇到的问题

井疏珂
2023-03-14

我得到了一个泛型二分搜索树类,其声明如下:

public class BST<K extends Comparable<K>, V>
reverseDict.put(originalDict.get(key), key); 

还有:

找不到适合put(V,K)方法bst.put(bst .node,K,V) 不适用(实际参数列表和正式参数列表长度不同)方法bst.put(K,V)不适用(实际参数V无法通过方法调用转换转换为K),其中VK是类型变量:

v扩展在方法 reverseBST(BST ) 中声明的对象

k扩展在方法 reverseBST(BST ) 中声明的可比

从错误消息告诉我的情况来看,由于我的值没有扩展carable,所以我无法将它们用作键。如果我是对的,我如何在不改变给定的类(可能是强制转换)的情况下绕过这个问题?

共有1个答案

冯旭
2023-03-14

我认为问题在于,您需要一个v扩展可比较 ,以便将其用作键,但只有一个v没有边界。我认为您需要编写一个静态方法,如…

public static <A extends Comparable<A>, B extends Comaparable<B>> 
    BST<B,A> invert(BST<A,B> bst) {...}

...为了确保附加条件。

 类似资料:
  • 我正在尝试使用JAXB将我无法控制的XSD转换为Java类。我得到的错误是: XSD中包含错误的代码位于: 具体来说,它是使用布尔类型加密的属性。布尔类型定义为 从四处搜索来看,这似乎是一个比较常见的情况。从我可以看出,mxencrypted行中的默认值不应该是1?当我将XSD加载到液态XML中时,模式不会报告错误。在这里验证XSD(http://www.utilities-online.info

  • 我花了大量的时间试图确定到底出了什么问题,使用LibreOffice将pdf转换为docx(以及doc转换为docx)的代码。 我使用了两个windows run接口来测试运行一些我发现相关的代码,也尝试了python,但两者都不起作用。 我在Windows上安装了LibreOffice v6.0.2。 我一直在使用此代码的变体尝试将某些pdf文件转换为与特定pdf文件不相关的docx: 我已经在

  • 我正在尝试从地图转换键iterable,但当我这样做时,我得到错误: 统计数字produceTypeData。钥匙不是一种功能 我将遵循这个问题的答案:如何将映射键转换为数组?让它工作。 当我尝试另一种方法(使用)时,我得到一个不同的错误,即: 类型IterableIterator不是数组类型。 在评论中我读到,在本例中,应该将数组括起来。扩展语法中的from()语句,但当我这样做时,我也会得到错

  • 从RC切换到Selenium Webdriver后,Selenium网格不再工作。请注意,我的大多数测试仍然是RC,但每次都要转换到Webdriver,因此仍然需要Selenium实例。看起来我的驱动程序和/或浏览器(Selenium)实例在并行运行时被覆盖。 下面是我的代码: 以下是一些更多的信息: 下面是测试的java代码:

  • 问题内容: 嗨,我有一个csv叫做。我试图逐行读取csv并将值转换为哈希键值对。这是代码:- csv文件如下:- 当我运行此代码时,出现此错误:- 谁能帮助我修复代码并找出程序中的错误? 问题答案: 在字符串中,当你把它分解的第一次只包含如没有在这样就会导致异常 如果不需要1,2等。可以查看以下代码:

  • 我需要使用jolt spec在JSON中将(多个)键转换为值,将值转换为键。做这件事的正确规范应该是什么? 输入: 所需输出: