Zac*_*dle 1 java generics hash nullpointerexception
我理解哈希表背后的想法,但实现变得令人沮丧.我做了一些阅读并得到了不同的答案.我已经读过,我可以实现一个通用的对象数组,如下所示:
TableContainer[] classTable =
(TableContainer<Object,Object>[]) new TableContainer[256];
Run Code Online (Sandbox Code Playgroud)
tableContainer的位置是:
class TableContainer<key,val>{
Object key = null;
Object val = null;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当我尝试在函数中传递以下代码时:
classTable[i].key = x
Run Code Online (Sandbox Code Playgroud)
我得到一个空指针异常.我知道在java中创建泛型数组会因为类型擦除而变得混乱,但我认为上面的实现会起作用.有没有办法创建一个列表或泛型数组用作哈希表?(不允许使用散列表/散列映射类)
您仍然必须先初始化数组中的对象引用,然后才能使用它们.像这样
tableContainer[] a = new tableContainer<Whatever, SomeClass>[SIZE];
for ( int i = 0 ; i < a.length; i++ ) {
a[i] = new tableContainer<Whatever, SomeClass>();
}
Run Code Online (Sandbox Code Playgroud)
当然,您必须将数组初始化为大于0的大小,这与您的示例中的不同.
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |