递归数据类型java泛型类型警告

goo*_*cow 3 java

我正在尝试制作一个递归的HashMap数据结构:

public HashMap<Character, HashMap> root;

HashMap根的内部s为类型也<Character, HashMap>.这会抛出原始类型警告,因为里面的HashMap没有参数化.我想不出一种方法来消除这些警告,因为任何明确参数化的尝试HashMap都不会因为它的递归性质而停止.有什么建议?

谢谢!

Lod*_*rds 6

宣布:

class MyHashMap extends HashMap<Character, MyHashMap> { }
Run Code Online (Sandbox Code Playgroud)

限定:

MyHashMap root;
Run Code Online (Sandbox Code Playgroud)

广义形式:

声明接口:

interface RecursiveMap<K> extends Map<K, RecursiveMap<K>> { }
Run Code Online (Sandbox Code Playgroud)

声明实现:

class RecursiveHashMap<K> extends HashMap<K, RecursiveMap<K>> implements RecursiveMap<K> { }

class RecursiveTreeMap<K> extends TreeMap<K, RecursiveMap<K>> implements RecursiveMap<K> { }
Run Code Online (Sandbox Code Playgroud)

限定:

RecursiveMap<Character> root  = new RecursiveHashMap<Character>();

RecursiveMap<Character> root2 = new RecursiveTreeMap<Character>();
Run Code Online (Sandbox Code Playgroud)