gpt4 book ai didi

具有原始值(或 Double)的 Java 泛型 `capture`

转载 作者:太空宇宙 更新时间:2023-11-04 10:17:46 25 4
gpt4 key购买 nike

我正在使用一个图表库,其中包含以下方法声明:

public float getPixelValueForUserValue(T userValue)...

我知道我应该传递一个泛型类型,如果我在代码中放置一个断点并简单地使用 double 值执行此方法,代码就会执行并且很高兴(我认为这是预期的,因为代码似乎没有任何问题)。
遗憾的是,如果我尝试编写执行的代码行(例如 myobject.getPixelValueForUserValue(2.0) ),那么编译器会提示,寻找 capture<?> 。我只需要成为一个双人。编译器产生的错误是

Error:(729, 95) error: incompatible types: Double >cannot be converted to CAP#1 where CAP#1 is a fresh type-variable: CAP#1 extends Comparable from capture of ?``

如果我尝试深入挖掘以了解他们的 T是,那么正如预期的那样,它是一个通用类 - 但它说 T extends Comparable<T> ,所以我只是认为我传递给它的任何类都应该扩展 Comparable,所以我尝试传递它 new Double(myVar)Double实现了 Comparable,但可惜这也失败了,并出现相同的错误......

我尝试创建匿名方法(可能是错误的)来返回我需要的值,我尝试创建扩展某事物或另一事物的类。我在这里做错了什么?

最佳答案

正如建议的那样,我需要从轴上拉出 - 我误解了场景,认为我需要捕获轴,然后尝试捕获像素值。 Axis' 被输入,并且没有显示任何编译器警告(并且根据他们的支持论坛)是正确的方法。

NumberAxis xAxis = (NumberAxis) chart.getXAxis();
double pixelX = xAxis.getPixelValueForUserValue(targetX);

关于具有原始值(或 Double)的 Java 泛型 `capture<?>`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51484699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com