これをコンパイルしようとすると:
import java.util.*;
public class NameIndex
{
private SortedMap<String,SortedSet<Integer>> table;
public NameIndex()
{
this.table = new TreeMap<String,TreeSet<Integer>>();
}
}
私は得る:
Incompatible types - found java.util.TreeMap<java.lang.String,java.util.TreeSet<java.lang.Integer>> but expected java.util.String,java.util.SortedSet<java.lang.Integer>>
理由はありますか?
更新:これはコンパイルされます:
public class NameIndex
{
private SortedMap<String,TreeSet<Integer>> table;
public NameIndex()
{
this.table = new TreeMap<String,TreeSet<Integer>>();
}
}