Yes, that works, but what then about:
Hashtable getHashtable() {
return this.hashtable;
}
.
.
.
public static void main(String[] args) throws Exception {
Hashtable <String, Vector<String>> ht =
MyClass.getHashtable(); .
.
}
How do I eliminate the "warning: [unchecked] unchecked
conversion" warning for that line in main()? i.e. how do
I put the notation <String, Vector<String>> to the rigth
of the equals sign?
You re-decrade all definitions again.
Hashtable<String, Vector<String, Vector<String>> getHashtable() {
return this.hashtable;
}
Even better, rename 'this.hashtable' and define as the interface
types:
public class Foo
{
private final Map <String, List <String>> table =
new HashMap <String, List <String>> ();
// or Hashtable, ConcurrentHashMap, ...
public final Map <String, List <String>> getTable()
{
return this.table;
}
}
You can even make the class generic:
public class Foo <K, T>
{
private final Map <K, List <T>> table =
new HashMap <K, List <T>> ();
// or Hashtable, ConcurrentHashMap, TreeMap, ...
// but not Hashtable
public final Map <K, List <T>> getTable()
{
return this.table;
}
}