gpt4 book ai didi

java - 在 Java 中对通用元素数组进行排序

转载 作者:行者123 更新时间:2023-12-01 22:42:34 26 4
gpt4 key购买 nike

我的 Java 程序中有一个泛型类,类型可以是 Double 或 Integer。我需要编写一个函数,首先需要对泛型类型的值数组进行排序。我收到以下异常,我不确定如何修复它。我将不胜感激任何帮助。

Exception in thread "main" java.lang.NullPointerException
at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:290)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:157)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
at java.util.Arrays.sort(Arrays.java:472)
at datastructures.CircularBuffer.getMedian(CircularBuffer.java:98)
at test.CircularBufferTests.test4(CircularBufferTests.java:67)
at test.CircularBufferTests.main(CircularBufferTests.java:13)

这是我的代码:

public class CircularBuffer<T extends Number> {

private T[] array;

public CircularBuffer(int n){
array = (T[])new Number[n];
}

public double getMedian(int size){


...
Arrays.sort(array);
...

}
}

谢谢!

最佳答案

显然这里没有足够的代码来理解,但是对于将 T 传递到的 ComparableTimSort(异常实际上来自于此)类,并非所有传递的 T 类型(Number 类)都实现 Comparable 接口(interface)为了检查这是否是您的问题,请尝试使用可比较的类型转换将 T 传递给您

关于java - 在 Java 中对通用元素数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25918281/

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