【发布时间】:2022-01-17 02:36:17
【问题描述】:
好的,我一直在网上搜索,但似乎找不到任何解决问题的方法。我找到了很多解决方案,但没有一个适合。
我需要创建一个泛型数组。但是泛型类型本身扩展了 Comparable。当我尝试以下操作时:
public class Hash<T extends Comparable<String>> {
private T[] hashTable;
private int tableSize;
Hash(int records, double load) {
tableSize = (int)(records / loadFactor);
tableSize = findNextPrime(tableSize);
hashTable = (T[])(new Object[tableSize]); //Error: Ljava.lang.Object; cannot be cast to [Ljava.lang.Comparable;
}
}
问题在于不能将 Object 转换为扩展 Comparable 的泛型。有没有办法解决这个问题?
【问题讨论】:
-
只有丑陋的解决方案。 IMO 是 Java 的众多问题之一。
-
你的意思是那些不懂语言的人^